Sobes.tech
Junior

Ի՞նչ տեղադրիչներ կան Selenium-ում։

sobes.tech AI

Պատասխան AI-ից

Selenium- ում локատորները կոչվում են մեխանիզմներ՝ վեբ էլեմենտների որոնման համար։ Հիմնական տեսակները՝

  • ID: Հնարավորություն է գտնել էլեմենտը նրա idատրիբուտով։ Ամենաարագ և հուսալի միջոցը, եթե ID-ն եզակի և կայուն է։
  • Name: Հնարավորություն է գտնել էլեմենտը նրա nameատրիբուտով։ Ավելի քիչ հուսալի, քան ID-ն, քանի որ name-ը միշտ չէ, որ եզակի է։
  • Class Name: Հնարավորություն է գտնել էլեմենտները նրանց classատրիբուտով։ Վերադարձնում է էլեմենտների ցանկ, քանի որ մի քանի էլեմենտ կարող է ունենալ նույն դասը։
  • Tag Name: Հնարավորություն է գտնել էլեմենտները HTML տեգի անունով (օրինակ, div, a, input)։ Վերադարձնում է էլեմենտների ցանկ։
  • Link Text: Հնարավորություն է գտնել <a> (հղում) ըստ հղման ճշգրիտ տեքստի։
  • Partial Link Text: Հնարավորություն է գտնել <a> (հղում) ըստ տեքստի մասնակի համընկնումի։
  • CSS Selector: Ուժեղ և ճկուն միջոց է էլեմենտների որոնման համար CSS սելեկտորների սինտաքսի օգտագործմամբ։ Հնարավորություն է տալիս որոնել ըստ հատկությունների, տեգերի, դասերի, հիերարխիայի և վիճակների։
  • XPath: Ամենաուժեղ և ճկուն միջոց է էլեմենտների որոնման համար XML/HTML փաստաթղթի կառուցվածքի վրա հիմնված։ Հնարավորություն է տալիս կառուցել բարդ ուղիներ էլեմենտներին հասնելու համար, որոնել ըստ հատկությունների, պարունակության և դիրքի։

Օրինակներ՝

# Java
WebElement elementById = driver.findElement(By.id("myElementId"));
WebElement elementByName = driver.findElement(By.name("elementName"));
List<WebElement> elementsByClass = driver.findElements(By.className("myClass"));
WebElement elementByCss = driver.findElement(By.cssSelector("div.container > input[type='text']"));
WebElement elementByXpath = driver.findElement(By.xpath("//div[@id='parent']/button[text()='Submit']"));
# Python
element_by_id = driver.find_element(By.ID, "myElementId")
element_by_name = driver.find_element(By.NAME, "elementName")
elements_by_class = driver.find_elements(By.CLASS_NAME, "myClass")
element_by_css = driver.find_element(By.CSS_SELECTOR, "div.container > input[type='text']")
element_by_xpath = driver.find_element(By.XPATH, "//div[@id='parent']/button[text()='Submit']")

Ընտրությունը՝ կախված է կայքի էլեմենտի կայունությունից և կառուցվածքից։ Խորհուրդ է տրվում օգտագործել ID, CSS Selector կամ XPath՝ ճիշտ կառուցվածքով։