Sobes.tech
Junior

Kādi ir Selenium lokalizatori?

sobes.tech AI

Atbilde no AI

Selenium lokalizatori ir sauc par mehanismiem, kas tiek izmantoti tīmekļa elementu meklēšanai. Galvenie lokalizatoru tipi:

  • ID: ļauj atrast elementu pēc tā id atribūta. Ātrākais un uzticamākais veids, ja ID ir unikāls un stabils.
  • Name: ļauj atrast elementu pēc tā name atribūta. Mazāk uzticams nekā ID, jo name nav vienmēr unikāls.
  • Class Name: ļauj atrast elementus pēc to class atribūta. Atgriež elementu sarakstu, jo vairāki elementi var būt ar vienādu klasi.
  • Tag Name: ļauj atrast elementus pēc HTML taga nosaukuma (piemēram, div, a, input). Atgriež elementu sarakstu.
  • Link Text: ļauj atrast <a> (saite) pēc precīza saites teksta.
  • Partial Link Text: ļauj atrast <a> (saite) pēc daļēja teksta atbilstības.
  • CSS Selector: jaudīgs un elastīgs veids, kā meklēt elementus, izmantojot CSS selektoru sintaksi. Atļauj meklēt pēc atribūtiem, tagiem, klasēm, hierarhijas un stāvokļiem.
  • XPath: visjaudīgākais un elastīgākais veids, kā meklēt elementus, balstoties uz XML/HTML dokumenta struktūru. Atļauj veidot sarežģītus ceļus piekļūšanai pie elementiem, meklēt pēc atribūtiem, satura un pozīcijas.

Piemēri:

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

Lokalizatora izvēle ir atkarīga no tīmekļa elementa stabilitātes un lapas struktūras. Ieteicams izmantot ID, CSS Selector vai XPath, ja tie ir pareizi uzbūvēti.