ElementNotInteractableException: Element Is Not Reachable by Keyboard
Memahami Ralat
Ralat ini berlaku apabila WebDriver tidak dapat berinteraksi dengan elemen menggunakan papan kekunci. Ini mungkin disebabkan oleh elemen tersembunyi, tersumbat atau tidak boleh difokuskan.
Sebab Ralat
Elemen disembunyikan: Sama ada dikaburkan buat sementara waktu oleh unsur lain atau tersembunyi secara kekal.
Kekal tindanan hadir: Unsur tindanan menyekat akses kepada elemen yang diingini.
Atribut yang menghalang interaksi: Atribut seperti class="ng-hide" atau style="display: none" lumpuhkan interaksi.
Percubaan untuk mengklik pada elemen seperti
atau
: Hantar klik ke tag sebaliknya.
Penyelesaian
Tindanan sementara: Gunakan WebDriverWait dan ExpectedConditions untuk menunggu elemen kelihatan/ boleh diklik.
Kekal tindanan: Gunakan executeScript() daripada JavascriptExecutor untuk menetapkan semula style="display: none" kepada style="display: block".
Atribut yang menghalang interaksi: Gunakan executeScript() daripada JavascriptExecutor untuk mengubah suai atribut dan mendayakan interaksi.
Untuk ini Isu Khusus (Pendaftaran Facebook)
Disebabkan unsur React Native dalam halaman log masuk Facebook, strategi pengesan dinamik diperlukan:
driver.findElement(By.xpath("//input[@name='firstname' and contains(@class,'inputtext')]")).sendKeys("testing it ");
Salin selepas log masuk
Kemas kini dengan moz:webdriverClick
Keupayaan Firefox moz:webdriverClick membenarkan melumpuhkan Semakan kebolehinteraksi pemacu WebDriver:
DesiredCapabilities dc = new DesiredCapabilities();
dc.setCapability("moz:webdriverClick", false);
WebDriver driver = new FirefoxDriver(dc);
Salin selepas log masuk
Atas ialah kandungan terperinci Mengapa WebDriver Saya Melemparkan ElementNotInteractableException?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn