XPath'de FindElement Selenium
Neden Elemanlarฤฑ Bul komutuna ihtiyacฤฑnฤฑz var?
Bir web sayfasฤฑyla etkileลim, kullanฤฑcฤฑnฤฑn web รถฤesini bulmasฤฑnฤฑ gerektirir. รฤe Bul komutu, web sayfasฤฑ iรงindeki (bir) web รถฤesini benzersiz ลekilde tanฤฑmlamak iรงin kullanฤฑlฤฑr. Elemanlarฤฑ Bul komutu ise web sayfasฤฑndaki web elemanlarฤฑnฤฑn listesini benzersiz bir ลekilde tanฤฑmlamak iรงin kullanฤฑlฤฑr. Kimlik, Ad, Sฤฑnฤฑf Adฤฑ, Baฤlantฤฑ Metni, Kฤฑsmi Baฤlantฤฑ Metni, Etiket Adฤฑ ve XPATH gibi web sayfasฤฑndaki bir web รถฤesini benzersiz ลekilde tanฤฑmlamanฤฑn birden fazla yolu vardฤฑr.
FindElement komutunun sรถz dizimi
WebElement elementName = driver.findElement(By.LocatorStrategy("LocatorValue"));
Selenium รฤe Bul komutu, parametre olarak By nesnesini alฤฑr ve WebElement tรผrรผnde bir nesne dรถndรผrรผr. Selenium. Nesneye gรถre, รถฤeyi kimliฤe gรถre bulma gibi รงeลitli konum bulma stratejileriyle birlikte kullanฤฑlabilir. Selenium, Ad, Sฤฑnฤฑf Adฤฑ, XPATH vb. FindElement komutunun sรถz dizimi aลaฤฤฑdadฤฑr. Selenium aฤ sรผrรผcรผsรผ.
Konum Belirleme Stratejisi aลaฤฤฑdaki deฤerlerden herhangi biri olabilir.
- ID
- Selenium รฤeyi ฤฐsme Gรถre Bul
- Sฤฑnฤฑf adฤฑ
- Etiket adฤฑ
- baฤlantฤฑ Metni
- Kฤฑsmi Baฤlantฤฑ Metni
- XPAT
Konum Belirleyici Deฤeri, bir web รถฤesinin tanฤฑmlanabileceฤi benzersiz deฤerdir. Kimlik veya ad gibi belirli รถzellikler kullanฤฑlarak web รถฤelerinin benzersiz ลekilde tanฤฑmlanabildiฤinden emin olmak geliลtiricilerin ve test uzmanlarฤฑnฤฑn sorumluluฤundadฤฑr.
รrnek:
WebElement loginLink = driver.findElement(By.linkText("Login"));
รrnek: รฤeyi Bul Selenium
Aลaฤฤฑdaki uygulama demo amaรงlฤฑ kullanฤฑlmaktadฤฑr
https://demo.guru99.com/test/ajax.html
Senaryo:
1 Adฤฑm: AUT'u aรงฤฑn
2 Adฤฑm: Radyo dรผฤmesini bulun ve tฤฑklayฤฑn
package com.sample.stepdefinitions;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class NameDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.setProperty("webdriver.chrome.driver", "D:\\3rdparty\\chrome\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
driver.get("https://demo.guru99.com/test/ajax.html");
// Find the radio button for โNoโ using its ID and click on it
driver.findElement(By.id("no")).click();
//Click on Check Button
driver.findElement(By.id("buttoncheck")).click();
}
}
FindElements komutunun sรถz dizimi
List<WebElement> elementName = driver.findElements(By.LocatorStrategy("LocatorValue"));
รฤeleri Bul Selenium komutu parametre olarak Nesneye Gรถre'yi alฤฑr ve web รถฤelerinin bir listesini dรถndรผrรผr. Verilen konum belirleme stratejisi ve konum belirleme deฤeri kullanฤฑlarak hiรงbir รถฤe bulunamazsa boล bir liste dรถndรผrรผr. รฤeleri bul komutunun sรถz dizimi aลaฤฤฑdadฤฑr.
รrnek:
List<WebElement> listOfElements = driver.findElements(By.xpath("//div"));
รrnek: รฤeleri Bul Selenium
Senaryo:
1 Adฤฑm: Test Edilen Uygulamanฤฑn URL'sini aรงฤฑn
1 Adฤฑm: Radyo dรผฤmelerinin metnini bulun ve รงฤฑkฤฑล konsoluna yazdฤฑrฤฑn
package com.sample.stepdefinitions;
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
public class NameDemo {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "X://chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://demo.guru99.com/test/ajax.html");
List<WebElement> elements = driver.findElements(By.name("name"));
System.out.println("Number of elements:" +elements.size());
for (int i=0; i<elements.size();i++){
System.out.println("Radio button text:" + elements.get(i).getAttribute("value"));
}
}
}
รฤe bul Vs รฤeleri bul
รฤeyi bul ve รถฤeleri bul komutlarฤฑ arasฤฑndaki ana farklar aลaฤฤฑda verilmiลtir.

| รฤe Bul | รฤeleri Bul |
|---|---|
| Aynฤฑ bulucuyla birden fazla web รถฤesi bulunmuลsa, en fazla ilk web รถฤesini dรถndรผrรผr | Web รถฤelerinin bir listesini dรถndรผrรผr |
| Konum belirleyici stratejisiyle eลleลen hiรงbir รถฤe yoksa NoSuchElementException istisnasฤฑnฤฑ atar | Konum belirleme stratejisiyle eลleลen web รถฤesi yoksa boล bir liste dรถndรผrรผr |
| XPath'a gรถre รถฤe bul yalnฤฑzca bir web รถฤesi bulacaktฤฑr | Konum belirleme stratejisiyle eลleลen รถฤelerin bir koleksiyonunu bulacaktฤฑr. |
| Uygulanamaz | Her Web รถฤesi tฤฑpkฤฑ bir dizi gibi 0'dan baลlayan bir sayฤฑ ile indekslenir |
รZET
- รฤe Bul komutu, web sayfasฤฑndaki ilk รถฤeyle en รงok eลleลen web รถฤesini dรถndรผrรผr.
- รฤeleri Bul komutu, รถlรงรผtlerle eลleลen web รถฤelerinin bir listesini dรถndรผrรผr.
- XPath'a gรถre Element Bul Selenium komut, รถlรงรผtlerle eลleลen รถฤeyi bulamazsa NoSuchElementException oluลturur.
- รฤeleri Bul komutu, iรงinde boล bir liste dรถndรผrรผr Selenium kriterlere uyan hiรงbir รถฤe yoksa
