Rumah >hujung hadapan web >tutorial js >Mengapa WebDriver Saya Melemparkan ElementNotInteractableException?

Mengapa WebDriver Saya Melemparkan ElementNotInteractableException?

Susan Sarandon
Susan Sarandonasal
2024-12-07 11:17:13167semak imbas

Why is My WebDriver Throwing an ElementNotInteractableException?

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 ");

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);

Atas ialah kandungan terperinci Mengapa WebDriver Saya Melemparkan ElementNotInteractableException?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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