Apa itu Teks Tautan di Selenium?
Sebuah Link Teks di Selenium digunakan untuk mengidentifikasi hyperlink pada halaman web. Itu ditentukan dengan bantuan tag jangkar. Untuk membuat hyperlink pada halaman web, kita dapat menggunakan tag anchor diikuti dengan teks tautan.
Tautan yang Sesuai dengan Kriteria
Tautan dapat diakses menggunakan teks tautan yang sama persis atau sebagian. Contoh di bawah ini memberikan skenario di mana beberapa kecocokan akan ada dan akan menjelaskan bagaimana WebDriver akan menanganinya.
Dalam tutorial ini, kita akan mempelajari metode yang tersedia untuk menemukan dan mengakses Link menggunakan Webdriver. Selain itu, kami akan membahas beberapa masalah umum yang dihadapi saat mengakses Tautan dan selanjutnya akan membahas tentang cara mengatasinya.
Inilah yang akan Anda pelajari-
- Mengakses tautan menggunakan Pencocokan Teks Persis: By.linkText ()
- Mengakses tautan menggunakan Partial Text Match: By.p PartialLinkText ()
- Cara mendapatkan banyak tautan dengan Teks Tautan yang sama
- Sensitivitas huruf besar-kecil untuk Teks Tautan
- Tautan di Luar dan Di Dalam Blok
Mengakses tautan menggunakan Pencocokan Teks Persis: By.linkText ()
Mengakses tautan menggunakan teks tautan persisnya dilakukan melalui metode By.linkText () . Namun, jika ada dua tautan yang memiliki teks tautan yang sama, metode ini hanya akan mengakses tautan pertama. Perhatikan kode HTML di bawah ini
Saat Anda mencoba menjalankan kode WebDriver di bawah ini, Anda akan mengakses tautan "klik di sini" yang pertama
Kode:
import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;impor org.openqa.selenium.chrome.ChromeDriver;public class MyClass {public static void main (String [] args) {String baseUrl = "http://demo.guru99.com/test/link.html";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Driver WebDriver = new ChromeDriver ();driver.get (baseUrl);driver.findElement (By.linkText ("klik di sini")). click ();System.out.println ("judul halaman adalah: + driver.getTitle ());driver.quit ();}}
Inilah cara kerjanya-
Hasilnya, Anda akan dibawa ke Google secara otomatis.
Mengakses tautan menggunakan Partial Text Match: By.p PartialLinkText ()
Mengakses tautan menggunakan sebagian teks tautannya dilakukan menggunakan metode By.p PartialLinkText () . Jika Anda menentukan teks tautan parsial yang memiliki banyak kecocokan, hanya kecocokan pertama yang akan diakses. Perhatikan kode HTML di bawah ini.
Saat Anda menjalankan kode WebDriver di bawah ini, Anda masih akan diarahkan ke Google.
Kode:
import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;impor org.openqa.selenium.chrome.ChromeDriver;kelas umum P1 {public static void main (String [] args) {String baseUrl = "http://demo.guru99.com/test/accessing-link.html";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Driver WebDriver = new ChromeDriver ();driver.get (baseUrl);driver.findElement (By.p PartialLinkText ("di sini")). click ();System.out.println ("Judul halaman adalah: + driver.getTitle ());driver.quit ();}}
Cara mendapatkan banyak tautan dengan Teks Tautan yang sama
Lantas, bagaimana cara mengatasi masalah di atas? Jika ada beberapa tautan dengan teks tautan yang sama, dan kami ingin mengakses tautan selain yang pertama, bagaimana kami melakukannya?
Dalam kasus seperti itu, umumnya, locator berbeda yaitu… By.xpath (), By.cssSelector () atau By.tagName () digunakan.
Paling umum digunakan adalah By.xpath (). Ini adalah yang paling dapat diandalkan tetapi juga terlihat rumit dan tidak dapat dibaca.
Sensitivitas huruf besar-kecil untuk Teks Tautan
Parameter untuk By.linkText () dan By.p PartialLinkText () sama-sama peka huruf besar / kecil, yang berarti bahwa kapitalisasi itu penting. Misalnya, di beranda Mercury Tours, ada dua tautan yang berisi teks "egis" - satu adalah tautan "DAFTAR" yang terdapat di menu atas, dan yang lainnya adalah tautan "Daftar di sini" yang terdapat di bagian kanan bawah dari halaman.
Meskipun kedua tautan berisi urutan karakter "egis", salah satunya adalah metode "By.pihakLinkText ()" akan mengakses kedua tautan ini secara terpisah tergantung pada kapitalisasi karakter. Lihat kode contoh di bawah ini.
Kode
public static void main (String [] args) {String baseUrl = "http://demo.guru99.com/test/newtours/";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Driver WebDriver = new ChromeDriver ();driver.get (baseUrl);String theLinkText = driver.findElement (Oleh.pihakLinkText ("egis")).getText ();System.out.println (theLinkText);theLinkText = driver.findElement (Oleh.pihakLinkText ("EGIS")).getText ();System.out.println (theLinkText);driver.quit ();}