Öğ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 ve Öğeleri Bul
Eleman bul Vs Elemanları bul Selenium
Öğ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