在一次采访中,询问页面是否成功加载页面元素存在于页面上,但可见但无法执行操作(如单击),如何在使用Java的Selenium WebDriver中处理此情况。 谁能建议不使用JavaScript Executor的情况。
答案 0 :(得分:0)
如果元素存在且可见,但不可单击。您必须等到可点击为止
WebDriverWait wait = new WebDriverWait(driver);
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.id("the-element-id")));
element.click();
如果由于该元素被另一个元素(如覆盖元素)覆盖而无法点击。您必须等到覆盖消失之后,否则您可能需要先单击覆盖。
WebDriverWait wait = new WebDriverWait(driver);
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.id("the-overlay-id")));
element.click();
driver.findElement(By.id("the-element-id")).click();