Temukan Element dan FindElements oleh XPath di Selenium WebDriver

Daftar Isi:

Anonim

Mengapa Anda membutuhkan perintah Find Element / s?

Interaksi dengan halaman web membutuhkan pengguna untuk menemukan elemen web. Perintah Find Element digunakan untuk secara unik mengidentifikasi (satu) elemen web di dalam halaman web. Sedangkan, perintah Find Elements digunakan untuk mengidentifikasi secara unik daftar elemen web di dalam halaman web. Ada beberapa cara untuk mengidentifikasi elemen web secara unik dalam halaman web seperti ID, Nama, Nama Kelas, Teks Tautan, Teks Tautan Parsial, Nama Tag dan XPATH.

Sintaks perintah FindElement:

Perintah Selenium Find Element menggunakan By object sebagai parameter dan mengembalikan sebuah object bertipe list WebElement di Selenium. Dengan objek pada gilirannya dapat digunakan dengan berbagai strategi pelacak seperti elemen pencarian dengan ID Selenium, Nama, Nama Kelas, XPATH dll. Di bawah ini adalah sintaks perintah FindElement di driver web Selenium.

WebElement elementName = driver.findElement (By.LocatorStrategy ("LocatorValue"));

Strategi Penunjuk Lokasi dapat berupa salah satu dari nilai berikut.

  • Indo
  • Selenium menemukan elemen berdasarkan Nama
  • Nama kelas
  • Nama Tag
  • Teks Tautan
  • Teks Tautan Parsial
  • XPATH

Locator Value adalah nilai unik yang dapat digunakan untuk mengidentifikasi elemen web. Merupakan tanggung jawab pengembang dan penguji untuk memastikan bahwa elemen web dapat diidentifikasi secara unik menggunakan properti tertentu seperti ID atau nama.

Contoh:

WebElement loginLink = driver.findElement (By.linkText ("Login"));

Sintaks perintah FindElements:

FindElements dalam perintah Selenium mengambil By object sebagai parameter dan mengembalikan daftar elemen web. Ini mengembalikan daftar kosong jika tidak ada elemen yang ditemukan menggunakan strategi pencari lokasi dan nilai pencari lokasi. Di bawah ini adalah sintaks dari perintah elemen find.

Daftar  elementName = driver.findElements (By.LocatorStrategy ("LocatorValue"));

Contoh:

Daftar  listOfElements = driver.findElements (By.xpath ("// div"));

Temukan elemen Vs Temukan elemen

Di bawah ini adalah perbedaan utama antara perintah elemen find dan find element.

Temukan elemen Vs Temukan elemen di Selenium
Temukan Elemen Temukan Elemen
Mengembalikan elemen web paling pertama jika ada beberapa elemen web yang ditemukan dengan pencari lokasi yang sama Menampilkan daftar elemen web
Melempar pengecualian NoSuchElementException jika tidak ada elemen yang cocok dengan strategi pencari lokasi Mengembalikan daftar kosong jika tidak ada elemen web yang cocok dengan strategi pencari lokasi
Temukan elemen oleh XPath hanya akan menemukan satu elemen web Ini akan menemukan kumpulan elemen yang cocok dengan strategi pelacak.
Tak dapat diterapkan Setiap elemen Web diindeks dengan angka yang dimulai dari 0 seperti array

Contoh: Cara menggunakan perintah Find Element

Aplikasi berikut digunakan untuk tujuan demo

http://demo.guru99.com/test/ajax.html

Skenario:

1. Buka AUT

2. Temukan dan klik tombol radio

paket com.sample.stepdefinitions;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;impor org.openqa.selenium.chrome.ChromeDriver;public class NameDemo {public static void main (String [] args) {// TODO Rintisan metode yang dibuat secara otomatisSystem.setProperty ("webdriver.chrome.driver", "D: \\ 3rdparty \\ chrome \\ chromedriver.exe");Driver WebDriver = new ChromeDriver ();driver.manage (). window (). maksimalkan ();driver.get ("http://demo.guru99.com/test/ajax.html");// Temukan tombol radio untuk "Tidak" menggunakan ID-nya dan klik di atasnyadriver.findElement (By.id ("no")). click ();// Klik pada Tombol Periksadriver.findElement (By.id ("buttoncheck")). click ();}}

Contoh: Cara menggunakan perintah Find Elements

Skenario:

1. Buka URL untuk Aplikasi yang Sedang Diuji

2. Temukan teks tombol radio dan cetak ke konsol keluaran

paket com.sample.stepdefinitions;import java.util.List;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;impor org.openqa.selenium.chrome.ChromeDriver;public class NameDemo {public static void main (String [] args) {System.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");Driver WebDriver = new ChromeDriver ();driver.get ("http://demo.guru99.com/test/ajax.html");Daftar elemen  = driver.findElements (By.name ("name"));System.out.println ("Jumlah elemen: + elements.size ());untuk (int i = 0; i 

Ringkasan:

  • Perintah Find Element mengembalikan elemen web yang cocok dengan elemen paling pertama dalam halaman web.
  • Perintah Find Elements mengembalikan daftar elemen web yang sesuai dengan kriteria.
  • Temukan Elemen oleh XPath dalam perintah Selenium akan menampilkan NoSuchElementException jika tidak menemukan elemen yang cocok dengan kriteria.
  • Perintah Find Elements mengembalikan daftar kosong di Selenium jika tidak ada elemen yang cocok dengan kriteria