我使用的是Windows8,IE10( 2.37.0),我试图等到元素加载到页面上。我使用了以下代码:
WebDriver driver = new FirefoxDriver();
driver.get("http://abc.com");
WebElement myDynamicElement = (
new WebDriverWait(driver, 10).until(
ExpectedConditions.presenceOfElementLocated(By.id("myDynamicElement")));但它正在抛出一个超时值异常。如果我删除了这段代码,它就能够识别webdriver上的元素。
我在其他浏览器中尝试了与FireFox、Chrome相同的代码,但仍然抛出错误。
任何帮助都是非常感谢的。
谢谢
发布于 2013-10-21 21:08:23
您将该等待分配给变量myDynamicElement。如果不给WebElement变量做一些事情,Selenium将抛出超时异常。如果您只想等待元素出现,那么就不需要将它赋值给WebElement变量。
WebDriver driver = new FirefoxDriver();
driver.get("http://abc.com");
new WebDriverWait(driver, 10).until(
ExpectedConditions.presenceOfElementLocated(By.id("myDynamicElement")));如果您需要赋值该变量以供以后使用,那么对元素执行一些操作。
WebElement myDynamicElement =
new WebDriverWait(driver, 10).until(
ExpectedConditions.presenceOfElementLocated(By.id("myDynamicElement")));
myDynamicElement.isDisplayed();发布于 2014-09-07 09:15:09
public static void waitForElementToAppear(Driver driver, By selector, long timeOutInSeconds) {
WebDriverWait wait = new WebDriverWait(driver, timeOutInSeconds);
wait.until(ExpectedConditions.visibilityOfElementLocated(selector));
}https://stackoverflow.com/questions/19498560
复制相似问题