Mengapa anda memerlukan arahan Cari Elemen?
Interaksi dengan laman web memerlukan pengguna untuk mencari elemen web. Perintah Find Element digunakan untuk mengenal pasti (satu) elemen web dalam laman web secara unik. Manakala, perintah Find Elements digunakan untuk mengenal pasti senarai elemen web dalam halaman web secara unik. Terdapat pelbagai cara untuk mengenal pasti elemen web secara unik di dalam laman web seperti ID, Nama, Nama Kelas, Teks Pautan, Teks Pautan Separa, Nama Tag dan XPATH.
Sintaks arahan FindElement:
Perintah Selenium Find Element mengambil objek By sebagai parameter dan mengembalikan objek senarai jenis WebElement di Selenium. Oleh objek pada gilirannya dapat digunakan dengan pelbagai strategi pencari seperti elemen cari dengan ID Selenium, Nama, Nama Kelas, XPATH dll. Berikut adalah sintaks arahan FindElement dalam pemacu web Selenium.
WebElement elementName = driver.findElement (Oleh.LocatorStrategy ("LocatorValue"));
Strategi Pencari boleh menjadi salah satu nilai berikut.
- ID
- Selenium cari unsur dengan Nama
- Nama Kelas
- Nama Tag
- Teks Pautan
- Teks Pautan Separa
- XPATH
Nilai Pencari adalah nilai unik yang menggunakan elemen web yang dapat dikenal pasti. Adalah menjadi tanggungjawab pembangun dan penguji untuk memastikan bahawa elemen web dapat dikenal pasti secara unik menggunakan sifat tertentu seperti ID atau nama.
Contoh:
WebElement loginLink = driver.findElement (By.linkText ("Login"));
Sintaks arahan FindElements:
Perintah FindElements dalam Selenium mengambil objek By parameter dan mengembalikan senarai elemen web. Ia mengembalikan senarai kosong jika tidak ada unsur yang dijumpai menggunakan strategi pencari dan nilai pencari yang diberikan. Di bawah adalah sintaks perintah cari elemen.
SenaraikanelementName = driver.findElements (By.LocatorStrategy ("LocatorValue"));
Contoh:
SenarailistOfElements = driver.findElements (By.xpath ("// div"));
Cari elemen Vs Cari unsur
Berikut adalah perbezaan utama antara perintah cari dan cari elemen.

Cari Elemen | Cari Elemen |
---|---|
Mengembalikan elemen web paling pertama jika terdapat banyak elemen web yang dijumpai dengan pencari yang sama | Mengembalikan senarai elemen web |
Membuang pengecualian NoSuchElementException jika tidak ada unsur yang sepadan dengan strategi pencari | Mengembalikan senarai kosong jika tidak ada elemen web yang sesuai dengan strategi pencari |
Cari elemen oleh XPath hanya akan menemui satu elemen web | Ia akan menemui kumpulan elemen yang sesuai dengan strategi pencari. |
Tidak berkenaan | Setiap elemen Web diindeks dengan nombor bermula dari 0 sama seperti array |
Contoh: Cara menggunakan perintah Find Element
Aplikasi berikut digunakan untuk tujuan demo
http://demo.guru99.com/test/ajax.html
Senario:
1. Buka AUT
2. Cari dan klik butang radio
pakej com.sample.stepdefinitions;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;kelas awam NameDemo {utama kekosongan statik awam (String [] args) {// TODO Kaedah penjanaan automatikSystem.setProperty ("webdriver.chrome.driver", "D: \\ 3rdparty \\ chrome \\ chromedriver.exe");Pemacu WebDriver = ChromeDriver baru ();driver.manage (). window (). maksimalkan ();driver.get ("http://demo.guru99.com/test/ajax.html");// Cari butang radio untuk "Tidak" menggunakan IDnya dan klik padanyadriver.findElement (By.id ("tidak")). klik ();// Klik pada Butang Semakdriver.findElement (By.id ("buttoncheck")). klik ();}}
Contoh: Cara menggunakan perintah Find Elements
Senario:
1. Buka URL untuk Permohonan Dalam Ujian
2. Cari teks butang radio dan cetak ke konsol output
pakej 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;kelas awam NameDemo {utama kekosongan statik awam (String [] args) {System.setProperty ("webdriver.chrome.driver", "X: //chromedriver.exe");Pemacu WebDriver = ChromeDriver baru ();driver.get ("http://demo.guru99.com/test/ajax.html");Senaraikan elemen= driver.findElements (By.name ("name"));System.out.println ("Bilangan elemen: + element.size ());untuk (int i = 0; i Ringkasan:
- Perintah Find Element mengembalikan elemen web yang sepadan dengan elemen paling pertama dalam laman web.
- Perintah Find Elements mengembalikan senarai elemen web yang sesuai dengan kriteria.
- Cari Element by XPath dalam arahan Selenium melemparkan NoSuchElementException jika tidak menemui elemen yang sesuai dengan kriteria.
- Perintah Find Elements mengembalikan senarai kosong di Selenium jika tidak ada elemen yang sesuai dengan kriteria