Apakah Teks Pautan di Selenium?
A Text Link di Selenium digunakan untuk mengenal pasti hiperpautan pada halaman web. Ia ditentukan dengan bantuan tanda sauh. Untuk membuat pautan hiperpautan di laman web, kita dapat menggunakan tanda sauh diikuti dengan teks Tautan.
Pautan yang Memadankan Kriteria
Pautan boleh diakses menggunakan padanan tepat atau sebahagian dari teks pautan mereka. Contoh di bawah memberikan senario di mana terdapat banyak perlawanan dan akan menjelaskan bagaimana WebDriver akan menangani mereka.
Dalam tutorial ini, kita akan mempelajari kaedah yang ada untuk mencari dan mengakses Pautan menggunakan Webdriver. Juga, kami akan membincangkan beberapa masalah umum yang dihadapi semasa mengakses Pautan dan akan membincangkan lebih lanjut mengenai cara menyelesaikannya.
Inilah yang akan anda pelajari-
- Mengakses pautan menggunakan Padanan Teks Tepat: By.linkText ()
- Mengakses pautan menggunakan Sepadan Teks Sepadan: By.partialLinkText ()
- Cara mendapatkan Pautan berganda dengan Teks Pautan yang sama
- Kepekaan kes untuk Teks Pautan
- Pautan Di Luar dan Di Dalam Blok
Mengakses pautan menggunakan Padanan Teks Tepat: By.linkText ()
Mengakses pautan menggunakan teks pautan tepatnya dilakukan melalui kaedah By.linkText () . Walau bagaimanapun, jika terdapat dua pautan yang mempunyai teks pautan yang sama, kaedah ini hanya akan mengakses yang pertama. Pertimbangkan kod HTML di bawah
Apabila anda cuba menjalankan kod WebDriver di bawah, anda akan mengakses pautan "klik di sini" pertama
Kod:
import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;kelas awam MyClass {utama kekosongan statik awam (String [] args) {String baseUrl = "http://demo.guru99.com/test/link.html";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Pemacu WebDriver = ChromeDriver baru ();driver.get (baseUrl);driver.findElement (By.linkText ("klik di sini")). klik ();System.out.println ("tajuk halaman adalah: + driver.getTitle ());driver.quit ();}}
Inilah cara ia berfungsi-
Hasilnya, anda akan dibawa ke Google secara automatik.
Mengakses pautan menggunakan Sepadan Teks Sepadan: By.partialLinkText ()
Mengakses pautan menggunakan sebahagian daripada teks pautan mereka dilakukan menggunakan kaedah By.partialLinkText () . Sekiranya anda menentukan teks pautan separa yang mempunyai banyak padanan, hanya pertandingan pertama yang akan diakses. Pertimbangkan kod HTML di bawah.
Apabila anda melaksanakan kod WebDriver di bawah, anda masih akan dibawa ke Google.
Kod:
import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;kelas awam P1 {utama kekosongan statik awam (String [] args) {String baseUrl = "http://demo.guru99.com/test/accessing-link.html";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Pemacu WebDriver = ChromeDriver baru ();driver.get (baseUrl);driver.findElement (By.partialLinkText ("di sini")). klik ();System.out.println ("Tajuk halaman adalah: + driver.getTitle ());driver.quit ();}}
Cara mendapatkan Pautan berganda dengan Teks Pautan yang sama
Jadi, bagaimana mengatasi masalah di atas? Sekiranya terdapat banyak pautan dengan teks pautan yang sama, dan kami ingin mengakses pautan selain daripada yang pertama, bagaimana kita melakukannya?
Dalam kes seperti ini, secara amnya, pencari yang berbeza iaitu… By.xpath (), By.cssSelector () atau By.tagName () digunakan.
Yang paling biasa digunakan ialah By.xpath (). Ia adalah yang paling dipercayai tetapi kelihatan kompleks dan tidak boleh dibaca juga.
Kepekaan kes untuk Teks Pautan
Parameter untuk By.linkText () dan By.partialLinkText () kedua-dua peka huruf besar kecil, yang bermaksud bahawa permodalan penting. Contohnya, di laman utama Mercury Tours, terdapat dua pautan yang mengandungi teks "egis" - satu adalah pautan "DAFTAR" yang terdapat di menu atas, dan yang lain adalah pautan "Daftar di sini" yang terdapat di bahagian kanan bawah halaman.
Walaupun kedua-dua pautan mengandungi urutan watak "egis", satu adalah kaedah "By.partialLinkText ()" akan mengakses kedua-dua pautan ini secara berasingan bergantung pada penggunaan huruf besar. Lihat contoh kod di bawah.
Kod
utama kekosongan statik awam (String [] args) {String baseUrl = "http://demo.guru99.com/test/newtours/";System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Pemacu WebDriver = ChromeDriver baru ();driver.get (baseUrl);Rentetan theLinkText = driver.findElement (Oleh.partialLinkText ("egis")).getTeks ();System.out.println (theLinkText);theLinkText = driver.findElement (Oleh.partialLinkText ("EGIS")).getTeks ();System.out.println (theLinkText);driver.quit ();}