Temukan Elemen di Selenium – TemukanElemen oleh XPath

Mengapa Anda memerlukan perintah Temukan Elemen?

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

Sintaks perintah FindElement

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

Selenium Perintah Find Element menggunakan objek By sebagai parameter dan mengembalikan objek bertipe daftar WebElement Selenium. Berdasarkan objek pada gilirannya dapat digunakan dengan berbagai strategi pencari lokasi seperti menemukan elemen berdasarkan ID Selenium, Nama, Nama Kelas, XPATH dll. Di bawah ini adalah sintaks perintah FindElement di Selenium pengemudi web.

Strategi Penentu Lokasi dapat berupa salah satu nilai berikut.

  • ID
  • Selenium temukan elemen berdasarkan Nama
  • Nama kelas
  • Nama Tag
  • Link Text
  • Teks Tautan Parsial
  • XPath

Nilai Pencari Lokasi adalah nilai unik yang dapat digunakan untuk mengidentifikasi elemen web. Pengembang dan penguji bertanggung jawab untuk memastikan bahwa elemen web dapat diidentifikasi secara unik menggunakan properti tertentu seperti ID atau nama.

Contoh:

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

Contoh: Temukan Elemen di Selenium

Aplikasi berikut digunakan untuk tujuan demo

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

Skenario:

Langkah 1: Buka AUT

Langkah 2: Temukan dan klik tombol radio

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("http://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();

}

}

Sintaks perintah FindElements

List<WebElement> elementName = driver.findElements(By.LocatorStrategy("LocatorValue"));

Temukan Elemen di Selenium perintah mengambil objek By 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 yang diberikan. Di bawah ini adalah sintaks perintah find elements.

Contoh:

List<WebElement> listOfElements = driver.findElements(By.xpath("//div"));

Contoh: Temukan Elemen di Selenium

Skenario:

Langkah 1: Buka URL untuk Aplikasi yang Sedang Diuji

Langkah 1: Temukan teks tombol radio dan cetak ke konsol keluaran

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("http://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"));
    }
  }
}

Temukan elemen Vs Temukan elemen

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

Temukan Elemen Vs Temukan Elemen
Temukan elemen Vs Temukan elemen di Selenium
Temukan Elemen Temukan Elemen
Mengembalikan elemen web terbanyak pertama jika ada beberapa elemen web ditemukan dengan pencari lokasi yang sama Mengembalikan daftar elemen web
Melemparkan 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 dengan XPath hanya akan menemukan satu elemen web Ini akan menemukan kumpulan elemen yang cocok dengan strategi pencari lokasi.
Tidak Berlaku Setiap elemen Web diindeks dengan angka yang dimulai dari 0 seperti halnya array

Kesimpulan

  • Perintah Temukan Elemen mengembalikan elemen web yang cocok dengan elemen terbanyak pertama dalam halaman web.
  • Perintah Find Elements mengembalikan daftar elemen web yang cocok dengan kriteria.
  • Temukan Elemen oleh XPath di Selenium perintah melempar NoSuchElementException jika tidak menemukan elemen yang cocok dengan kriteria.
  • Perintah Temukan Elemen mengembalikan daftar kosong Selenium jika tidak ada elemen yang memenuhi kriteria