Sobes.tech
Junior

Kokie yra lokalizatoriai Selenium?

sobes.tech AI

Atsakymas iš AI

Selenium lokalizatoriai vadinami mechanizmais, skirtais paieškai tinklalapio elementų. Pagrindiniai lokalizatorių tipai:

  • ID: leidžia rasti elementą pagal jo id atributą. Greičiausias ir patikimiausias būdas, jei ID yra unikalus ir stabilus.
  • Name: leidžia rasti elementą pagal jo name atributą. Mažiau patikimas nei ID, nes name nėra visada unikalus.
  • Class Name: leidžia rasti elementus pagal jų class atributą. Grąžina elementų sąrašą, nes keli elementai gali turėti tą pačią klasę.
  • Tag Name: leidžia rasti elementus pagal HTML žymės pavadinimą (pvz., div, a, input). Grąžina elementų sąrašą.
  • Link Text: leidžia rasti <a> (nuorodą) pagal tikslią nuorodos tekstą.
  • Partial Link Text: leidžia rasti <a> (nuorodą) pagal dalinį teksto atitikimą.
  • CSS Selector: galingas ir lankstus būdas ieškoti elementų naudojant CSS selektorių sintaksę. Leidžia ieškoti pagal atributų, žymių, klasių, hierarchijos ir būsenų derinius.
  • XPath: pats galingiausias ir lankstus būdas ieškoti elementų, pagrįstas navigacija XML/HTML dokumento struktūra. Leidžia kurti sudėtingus kelių elementų paieškos kelius, ieškoti pagal atributus, turinį ir padėtį.

Pavyzdžiai:

# 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']")

Lokalizatoriaus pasirinkimas priklauso nuo tinklalapio elemento stabilumo ir struktūros. Rekomenduojama naudoti ID, CSS Selector arba XPath, jei jie tinkamai sukonstruoti.