Sobes.tech
Junior

Selenium-də hansı lokalizatorlar mövcuddur?

sobes.tech Süni İntellekt

AI-dan cavab

Selenium-da lokalizatorlar, veb elementlərini səhifədə tapmaq üçün mexanizmlərdir. Əsas lokalizator növləri:

  • ID: Elementi onun id atributu ilə tapmağa imkan verir. Ən sürətli və etibarlı üsul, əgər ID unikal və stabildirsə.
  • Name: Elementi onun name atributu ilə tapmağa imkan verir. ID-dən daha az etibarlıdır, çünki name hər zaman unikal olmaya bilər.
  • Class Name: Elementləri onun class atributu ilə tapır. Bir neçə element eyni sinfə malik ola bilər, ona görə siyahı qaytarır.
  • Tag Name: HTML teqi adı ilə (məsələn, div, a, input) elementləri tapır. Siyahı qaytarır.
  • Link Text: <a> (link) elementini, linkin tam mətninə görə tapır.
  • Partial Link Text: <a> (link) elementini, link mətninin qismən uyğunluğu ilə tapır.
  • CSS Selector: CSS seçicilər sintaksisindən istifadə edərək elementləri tapmağın güclü və çevik yoludur. Atributlar, teqlər, sinflər, hierarxiya və vəziyyətlər üzrə axtarış edir.
  • XPath: XML/HTML sənədinin strukturunda naviqasiya əsasında elementləri tapmağın ən güclü və çevik yoludur. Çətin yollar qurmağa, atributlar, məzmun və mövqeyə görə axtarış etməyə imkan verir.

İstifadə nümunələ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']")

Lokalizator seçimi, veb elementinin stabilliyi və səhifənin strukturu ilə bağlıdır. Doğru qurulmuş ID, CSS Selector və ya XPath istifadə etmək tövsiyə olunur.