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 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

Bu yazฤฑyฤฑ ลŸu ลŸekilde รถzetleyin: