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");