Sobes.tech
Junior

Millised on Selenium lokaliseerijad?

sobes.tech AI

Vastus AI-lt

Seleniumi lokaliseerijad on mehhanismid, mis on mõeldud veebielementide otsimiseks. Peamised lokaliseerijatüübid:

  • ID: võimaldab leida elementi selle id atribuudi järgi. Kiireim ja usaldusväärseim viis, kui ID on unikaalne ja stabiilne.
  • Name: võimaldab leida elementi selle name atribuudi järgi. Vähem usaldusväärne kui ID, kuna name ei ole alati unikaalne.
  • Class Name: võimaldab leida elemente nende class atribuudi järgi. Tagastab elementide nimekirja, kuna mitu elementi võivad omada sama klassi.
  • Tag Name: võimaldab leida elemente HTML-tägi nime järgi (näiteks div, a, input). Tagastab elementide nimekirja.
  • Link Text: võimaldab leida <a> (lingi) täpse lingiteksti järgi.
  • Partial Link Text: võimaldab leida <a> (lingi) osalise tekstiga.
  • CSS Selector: võimas ja paindlik viis elementide otsimiseks CSS-selektorite süntaksi kasutamisel. Võimaldab otsida atribuudi, tägi, klassi, hierarhia ja seisundi kombinatsioonide järgi.
  • XPath: kõige võimsam ja paindlikum viis elementide otsimiseks, mis põhineb XML/HTML dokumendi struktuuril. Võimaldab koostada keerukaid teid elementidele, otsida atribuudi, sisu ja asukoha järgi.

Näited:

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

Lokaliseerija valik sõltub veebielemendi stabiilsusest ja lehekülje struktuurist. Soovitatav on kasutada ID, CSS Selector või XPath, kui need on õigesti üles ehitatud.