由于以下异常,我的脚本失败了。
org.openqa.selenium.WebDriverException:未知错误:元素不是 点击(355,160)
如果元素出现在后台,加载页面时,selenium会尝试单击并失败。我用过webdriverwait。在10次中,它最少失败3次。
如何在不使用Thread.sleep();
的情况下避免/处理此问题答案 0 :(得分:3)
你应该等到使用invisibilityOfElementLocated
的元素不可见,如下所示: -
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.invisibilityOfElementLocated(By.xpath('xpath of please wait loading...')));
在此之后,您可以在目标click
element
希望它能起作用.. :)
答案 1 :(得分:0)
使用显式等待
WebDriver driver = new FirefoxDriver();
driver.get("http://somedomain/url_that_delays_loading");
WebElement myElement = (new WebDriverWait(driver, 10))
.until(ExpectedConditions.presenceOfElementLocated(By.id("myElement")));
// or (new WebDriverWait(driver, 10)).until(
// ExpectedConditions.visibilityOfElementLocated(By.id("myElement")));
myElement .click();