Rumah >Java >javaTutorial >Bagaimana untuk Menyelesaikan ElementNotInteractableException Selenium Semasa Ujian Log Masuk Gmail?

Bagaimana untuk Menyelesaikan ElementNotInteractableException Selenium Semasa Ujian Log Masuk Gmail?

DDD
DDDasal
2024-11-27 06:35:10187semak imbas

How to Resolve Selenium's ElementNotInteractableException During Gmail Login Testing?

ElementNotInteractableException dalam Selenium WebDriver

Apabila cuba menangkap dan menguji log masuk Gmail, Selenium WebDriver mungkin membuang "ElementNotInteractableException." Ralat ini berlaku apabila elemen hadir pada pokok DOM tetapi tidak boleh berinteraksi dengannya.

Sebab dan Penyelesaian:

  • Tindan Sementara: Elemen lain mungkin mengaburkan elemen sasaran buat sementara waktu. Untuk menyelesaikan masalah ini, perkenalkan ExplicitWait (WebDriverWait) menggunakan ExpectedConditions.elementToBeClickable atau ExpectedConditions.invisibilityOfElementLocated.
  • Tindanan Kekal: Jika tindanan berterusan, hantarkan contoh JavascriptExecutor sebagai elemen JavaDriver. dengan melaksanakan JavaScript kod.

Khusus untuk Senario Log Masuk Gmail ini:

Ralat berlaku kerana medan kata laluan tidak diberikan dengan betul dalam DOM pada masa kod WebDriver cuba berinteraksi dengannya. Untuk menyelesaikan masalah ini, tambahkan ExplicitWait untuk membolehkan elemen menjadi boleh diklik:

WebDriverWait wait = new WebDriverWait(driver, 20);
WebElement password = driver.findElement(By.xpath("//input[@name='password']"));
wait.until(ExpectedConditions.elementToBeClickable(password));
password.sendKeys("test1");

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan ElementNotInteractableException Selenium Semasa Ujian Log Masuk Gmail?. 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