Mengklik Elemen Disembunyikan oleh Tindanan dalam Selenium
Dalam automasi berasaskan Selenium, mengklik pada elemen yang dikaburkan oleh tindanan boleh menjadi cabaran biasa . Mesej ralat "Elemen MyElement tidak boleh diklik pada titik (x, y)... Elemen lain akan menerima klik" menunjukkan keadaan ini.
Mengatasi Isu
Untuk menyelesaikan isu ini, pertimbangkan pendekatan berikut:
WebElement element = driver.findElement(By.id("id1")); Actions actions = new Actions(driver); actions.moveToElement(element).click().build().perform();
JavascriptExecutor jse1 = (JavascriptExecutor)driver; jse1.executeScript("scroll(250, 0)"); // if the element is on top. jse1.executeScript("scroll(0, 250)"); // if the element is at bottom.
Muat Semula Halaman:
Jika halaman dimuat semula sebelum elemen boleh diklik, dorong penantian:
Thread.sleep(500); // replace 500 with an appropriate timeout in milliseconds
WebDriverWait wait2 = new WebDriverWait(driver, 10); wait2.until(ExpectedConditions.elementToBeClickable(By.id("id1")));
WebDriverWait wait3 = new WebDriverWait(driver, 10); wait3.until(ExpectedConditions.invisibilityOfElementLocated(By.xpath("ele_to_inv")));
WebElement ele = driver.findElement(By.xpath("element_xpath")); JavascriptExecutor executor = (JavascriptExecutor)driver; executor.executeScript("arguments[0].click();", ele);
Atas ialah kandungan terperinci Bagaimana untuk Mengklik Elemen yang Disembunyikan oleh Tindanan dalam Selenium?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!