Selenium - Locator

Menemukan elemen di Selenium WebDriver dilakukan dengan bantuan metode findElement () dan findElements () yang disediakan oleh kelas WebDriver dan WebElement.

  • findElement () mengembalikan objek WebElement berdasarkan kriteria pencarian yang ditentukan atau berakhir dengan pengecualian jika tidak menemukan elemen yang cocok dengan kriteria pencarian.

  • findElements () mengembalikan daftar WebElements yang cocok dengan kriteria pencarian. Jika tidak ada elemen yang ditemukan, ini mengembalikan daftar kosong.

Tabel berikut mencantumkan semua sintaks Java untuk mencari elemen di Selenium WebDriver.

metode Sintaksis Deskripsi
Menurut ID driver.findElement (By.id (<element ID>)) Menemukan elemen menggunakan atribut ID
Dengan nama driver.findElement (By.name (<element name>)) Menemukan elemen menggunakan atribut Name
Berdasarkan nama kelas driver.findElement (By.className (<element class>)) Menemukan elemen menggunakan atribut Kelas
Dengan nama tag driver.findElement (By.tagName (<htmltagname>)) Menemukan sebuah elemen menggunakan tag HTML
Melalui teks tautan driver.findElement (By.linkText (<linktext>)) Menemukan tautan menggunakan teks tautan
Dengan teks tautan parsial driver.findElement (By.p PartialLinkText (<linktext>)) Menemukan tautan menggunakan teks parsial tautan
Dengan CSS driver.findElement (By.cssSelector (<css selector>)) Menemukan elemen menggunakan pemilih CSS
Oleh XPath driver.findElement (By.xpath (<xpath>)) Menemukan elemen menggunakan kueri XPath

Penggunaan Locator

Sekarang mari kita memahami penggunaan praktis dari masing-masing metode pencari lokasi dengan bantuan https://www.calculator.net

Menurut ID

Di sini sebuah objek diakses dengan bantuan ID. Dalam hal ini, ini adalah ID kotak teks. Nilai dimasukkan ke dalam kotak teks menggunakan metode sendkeys dengan bantuan ID (cdensity).

driver.findElement(By.id("cdensity")).sendKeys("10");

Dengan nama

Di sini sebuah objek diakses dengan bantuan nama. Dalam kasus ini, ini adalah nama kotak teks. Nilai dimasukkan ke dalam kotak teks menggunakan metode sendkeys dengan bantuan ID (cdensity).

driver.findElement(By.name("cdensity")).sendKeys("10");

Berdasarkan Nama Kelas

Di sini sebuah objek diakses dengan bantuan Nama Kelas. Dalam hal ini, itu adalah nama Kelas WebElement. Nilai dapat diakses dengan bantuan metode gettext.

List<WebElement> byclass = driver.findElements(By.className("smalltext smtb"));

Dengan Nama Tag

Nama Tag DOM dari sebuah elemen dapat digunakan untuk menemukan elemen tersebut di WebDriver. Sangat mudah untuk menangani tabel dengan bantuan metode ini. Perhatikan kode berikut.

WebElement table = driver.findElement(By.id("calctable"));
List<WebElement> row = table.findElements(By.tagName("tr"));
int rowcount = row.size();

Dengan Teks Tautan

Metode ini membantu menemukan elemen tautan dengan teks terlihat yang cocok.

driver.findElements(By.linkText("Volume")).click();

Dengan teks tautan parsial

Metode ini membantu menemukan elemen tautan dengan sebagian teks terlihat yang cocok.

driver.findElement(By.partialLinkText("Volume")).click();

Dengan CSS

CSS digunakan sebagai metode untuk mengidentifikasi objek web, namun TIDAK semua browser mendukung identifikasi CSS.

WebElement loginButton = driver.findElement(By.cssSelector("input.login"));

Oleh XPath

XPath adalah singkatan dari bahasa jalur XML. Ini adalah bahasa query untuk memilih node dari dokumen XML. XPath didasarkan pada representasi pohon dari dokumen XML dan menyediakan kemampuan untuk menavigasi di sekitar pohon dengan memilih simpul menggunakan berbagai kriteria.

driver.findElement(By.xpath(".//*[@id = 'content']/table[1]/tbody/tr/td/table/tbody/tr[2]/td[1]/input")).sendkeys("100");