Dalam tutorial ini, kita akan melihat bagaimana mengenal pasti elemen bentuk berikut
- Butang radio
- Kotak Centang
Butang radio
Tombol Radio juga boleh diaktifkan dengan menggunakan kaedah klik ().
Dengan menggunakan http://demo.guru99.com/test/radio.html untuk latihan, lihat bahawa radio1.click () beralih pada butang radio "Option1". radio2.click () beralih pada butang radio "Option2" membiarkan "Option1" tidak dipilih.
Kotak Centang
Menghidupkan / mematikan kotak pilihan juga dilakukan menggunakan kaedah klik () .
Kod di bawah ini akan mengklik kotak centang "Tetaplah saya log masuk" di Facebook dua kali dan kemudian keluarkan hasilnya sebagai BENAR ketika diaktifkan, dan SALAH jika ia diaktifkan.
Kaedah isSelected () digunakan untuk mengetahui sama ada Kotak Centang dihidupkan atau dimatikan.
Berikut adalah contoh lain: http://demo.guru99.com/test/radio.html
Kod Lengkap
Inilah kod kerja yang lengkap
import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;import org.openqa.selenium. *;Borang kelas awam {utama kekosongan statik awam (String [] args) {// pengisytiharan dan penentuan objek / pemboleh ubahSystem.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Pemacu WebDriver = ChromeDriver baru ();driver.get ("http://demo.guru99.com/test/radio.html");WebElement radio1 = driver.findElement (By.id ("vfb-7-1"));WebElement radio2 = driver.findElement (By.id ("vfb-7-2"));// Butang Radio1 dipilihradio1.klik ();System.out.println ("Pilihan Butang Radio 1 Dipilih");// Radio Button1 tidak dipilih dan Radio Button2 dipilihradio2.klik ();System.out.println ("Pilihan Butang Radio 2 Dipilih");// Memilih Kotak CentangWebElement option1 = driver.findElement (By.id ("vfb-6-0"));// Ini akan Menukar kotak Centangpilihan1.klik ();// Periksa sama ada kotak Centang dihidupkanjika (pilihan1.isPilih ()) {System.out.println ("Kotak Centang Dihidupkan");} lain {System.out.println ("Kotak Centang Diganti");}// Memilih Kotak Centang dan menggunakan Kaedah Dipilihdriver.get ("http://demo.guru99.com/test/facebook.html");WebElement chkFBPersist = driver.findElement (By.id ("persist_box"));untuk (int i = 0; i <2; i ++) {chkFBPersist.click ();System.out.println ("Status Tetap Kotak Masuk Facebook adalah -" + chkFBPersist.isSelected ());}//driver.close ();}}
Penyelesaian masalah
Sekiranya anda menemui NoSuchElementException () semasa mencari elemen, ini bermaksud bahawa elemen tersebut tidak dijumpai di halaman pada saat pemacu Web mengakses halaman.
- Periksa pencari anda lagi menggunakan Firepath atau Inspect Element di Chrome.
- Periksa sama ada nilai yang anda gunakan dalam kod itu berbeza dengan nilai untuk elemen di Firepath sekarang.
- Beberapa sifat bersifat dinamik untuk beberapa elemen. Sekiranya, anda dapati nilainya berbeza dan berubah secara dinamik, pertimbangkan untuk menggunakan By.xpath () atau By.cssSelector () yang cara yang lebih dipercayai tetapi kompleks.
- Kadang-kadang, ini juga boleh menjadi masalah penantian iaitu, pemandu Web melaksanakan kod anda sebelum halaman dimuat sepenuhnya, dll.
- Tambahkan tunggu sebelum findElement () menggunakan penantian tersirat atau tersurat.
Ringkasan
- Jadual di bawah merangkum arahan untuk mengakses setiap jenis elemen yang dibincangkan di atas
Unsur | Perintah | Penerangan |
---|---|---|
Kotak Centang, Butang Radio | klik () | digunakan untuk menghidupkan / mematikan elemen |