Dalam konteks automasi web, ralat "Elemen tidak boleh dicapai oleh papan kekunci " menunjukkan situasi di mana interaksi automatik (seperti menghantar teks atau mengklik) tidak boleh dilakukan pada elemen tertentu. Ralat ini boleh berlaku atas pelbagai sebab, termasuk:
Bergantung pada akar sebab, terdapat beberapa pendekatan untuk menyelesaikannya ralat:
Jika Tersembunyi/Disekat
Jika Baca Sahaja
Jika Elemen Dinamik
Dalam Firefox versi 58 dan kemudiannya, keupayaan yang dipanggil "moz:webdriverClick" telah diperkenalkan untuk mengawal kebolehinteraksian cek. Menetapkan keupayaan ini kepada 'palsu' boleh melumpuhkan semakan kebolehinteraksian tertentu buat sementara waktu, membenarkan klik atau input teks yang berpotensi tidak tepat pada elemen.
Berikut ialah contoh menunjukkan cara menyelesaikan isu dalam Selenium WebDriver untuk Java menggunakan WebDriverWait dan Syarat Jangkaan:
WebDriver driver = new FirefoxDriver(); driver.get("http://www.facebook.com"); // Wait until the first name field is visible and clickable WebDriverWait wait = new WebDriverWait(driver, 20); WebElement firstNameField = wait.until(ExpectedConditions.elementToBeClickable(By.id("u_0_b"))); // Send text to the first name field. firstNameField.sendKeys("testing it ");
Atas ialah kandungan terperinci Mengapakah Automasi Web Selenium Saya Gagal dengan \'ElementNotInteractableException: Element is Not Reachable by Keyboard\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!