Ralat ini berlaku apabila cuba menghantar kunci ke medan input yang tidak boleh berinteraksi dengan papan kekunci. Dalam kes khusus ini, ralat ditemui semasa menghantar teks ke medan "FirstName" di Facebook.
Elemen "Tidak boleh dicapai dengan papan kekunci " ralat boleh berlaku disebabkan oleh pelbagai sebab, termasuk:
< h3>Penyelesaian
Terdapat beberapa pendekatan untuk menangani perkara ini isu:
Gunakan WebDriverWait dan ExpectedConditions:
Jika elemen disembunyikan atau dikaburkan buat sementara waktu, gunakan WebDriverWait dengan ExpectedConditions untuk menunggu elemen kelihatan dan boleh diklik.
Gunakan executeScript():
Jika elemen disembunyikan atau dikaburkan secara kekal, gunakan kaedah executeScript() daripada antara muka JavascriptExecutor untuk mengakses dan memanipulasi elemen.
Edit gaya atribut:
Jika elemen disembunyikan disebabkan oleh atribut CSS seperti "display: none," gunakan executeScript() untuk mengubah suai gaya dan menjadikan elemen kelihatan.
Lumpuhkan semakan kebolehinteraksian WebDriver (sementara):
Keupayaan Firefox moz:webdriverClick boleh ditetapkan kepada palsu untuk melumpuhkan sementara pemeriksaan kebolehinteraksian WebDriver. Ini mungkin diperlukan untuk ujian warisan.
Dalam coretan kod yang disediakan, pengecualian berlaku kerana medan "Nama Pertama" mempunyai ID dinamik yang berubah dengan setiap pemuatan halaman. Untuk menyelesaikan isu ini, gunakan strategi pengesan dinamik yang mencari elemen berdasarkan atributnya dan bukannya IDnya.
Coretan kod yang dikemas kini:
WebDriver driver = new FirefoxDriver(); driver.get("https://www.facebook.com"); driver.findElement(By.xpath("//input[@name='firstname' and contains(@class,'inputtext')]")).sendKeys("testing it ");
Atas ialah kandungan terperinci Mengapa Saya Mendapat \'org.openqa.selenium.ElementNotInteractableException\' Apabila Menghantar Teks ke Medan Input Facebook?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!