Sobes.tech
Junior

Ce localizatori există în Selenium?

sobes.tech AI

Răspuns de la AI

Locatorii în Selenium sunt mecanisme pentru găsirea elementelor web pe pagină. Tipurile principale de localizatori:

  • ID: Permite găsirea unui element după atributul său id. Cea mai rapidă și fiabilă metodă, dacă ID-ul este unic și stabil.
  • Name: Permite găsirea unui element după atributul name. Mai puțin fiabil decât ID, deoarece name nu este întotdeauna unic.
  • Class Name: Permite găsirea elementelor după atributul class. Returnează o listă de elemente, deoarece mai multe elemente pot avea aceeași clasă.
  • Tag Name: Permite găsirea elementelor după numele tag-ului HTML (de exemplu, div, a, input). Returnează o listă de elemente.
  • Link Text: Permite găsirea unui element <a> (link) după textul exact al link-ului.
  • Partial Link Text: Permite găsirea unui element <a> (link) după o potrivire parțială a textului link-ului.
  • CSS Selector: Mod puternic și flexibil de a căuta elemente folosind sintaxa selectorilor CSS. Permite căutarea după combinații de atribute, tag-uri, clase, ierarhie și stări.
  • XPath: Cea mai puternică și flexibilă metodă de a căuta elemente, bazată pe navigarea în structura documentului XML/HTML. Permite construirea de căi complexe către elemente, căutare după atribute, conținut și poziție.

Exemple de utilizare:

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

Alegerea locatorului depinde de stabilitatea elementului web și de structura paginii. Se recomandă utilizarea ID-ului, CSS Selector sau XPath atunci când sunt construite corect.