Öğeleri Bul Selenium – XPath tarafından FindElement
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
http://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("http://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("http://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