NoSuchElementException: Tidak Dapat Mengesan Elemen semasa Menggunakan Selenium dan Chrome
Apabila menjalankan ujian Selenium dengan Chrome, ralat berikut mungkin berlaku:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element {"method":"id","selector":"window1"
Ralat ini menunjukkan bahawa Selenium tidak dapat mencari elemen yang dikenal pasti oleh pencari "id" dengan pemilih "window1." Walaupun berfungsi pada Firefox, isu ini berterusan pada Chrome.
Sebab NoSuchElementException:
NoSuchElementException boleh timbul apabila:
Penyelesaian untuk Kes Penggunaan Ini:
Dalam ini senario tertentu, kanvas "window1" tidak boleh dikesan mengikut IDnya kerana pengesan tidak mengenal pastinya secara unik. Untuk menyelesaikan isu ini, gunakan blok kod berikut:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//canvas[@id='window1']"))).click()
Kod ini menggunakan WebDriverWait untuk menunggu sehingga kanvas boleh diklik sebelum mengklik padanya.
Petua Penyelesaian Masalah Tambahan:
Dengan menangani isu yang berpotensi ini, anda boleh berjaya mencari dan berinteraksi dengan elemen menggunakan Selenium dan mengelakkan NoSuchElementException.
Atas ialah kandungan terperinci Mengapa Ujian Chrome Selenium Saya Gagal dengan NoSuchElementException Semasa Bekerja di Firefox?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!