Sobes.tech
Junior

Selenium'da qanday lokalizatorlar mavjud?

sobes.tech AI

AIdan javob

Selenium'da lokalizatorlar, veb elementlarini sahifada topish uchun mexanizmlardir. Asosiy lokalizator turlari:

  • ID: Elementni uning id atributi orqali topishga imkon beradi. Agar ID noyob va barqarorsa, eng tez va ishonchli usul.
  • Name: Elementni uning name atributi orqali topishga imkon beradi. ID ga qaraganda kamroq ishonchli, chunki name har doim noyob bo'lmasligi mumkin.
  • Class Name: Elementlarni class atributi orqali topadi. Bir nechta element bir xil klassga ega bo'lishi mumkinligi uchun ro'yxat qaytaradi.
  • Tag Name: HTML teg nomi bilan (masalan, div, a, input) elementlarni topadi. Ro'yxat qaytaradi.
  • Link Text: <a> (havola) elementini, havola matni bilan to'g'ri mos keladigan tarzda topadi.
  • Partial Link Text: <a> (havola) elementini, havola matnining qisman mos kelishi bilan topadi.
  • CSS Selector: CSS selektorlar sintaksisidan foydalanib, elementlarni qidirish uchun kuchli va moslashuvchan usul. Atributlar, teglar, sinflar, hierarxiya va holatlar kombinatsiyasiga qarab qidirish imkonini beradi.
  • XPath: XML/HTML hujjatining tuzilmasi bo'ylab navigatsiya qilish asosida elementlarni qidirishning eng kuchli va moslashuvchan usuli. Murakkab yo'llar qurish, atributlar, mazmun va joylashuv bo'yicha qidirish imkonini beradi.

Foydalanish misollari:

# 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 tanlash, veb elementining barqarorligi va sahifa tuzilmasiga bog'liq. To'g'ri qurilgan ID, CSS Selector yoki XPath'dan foydalanish tavsiya etiladi.