Selenium显式等待(WebDriverWait)不适用于Type WebElement

时间:2015-12-13 18:17:00

标签: selenium

driver= new InternetExplorerDriver(cap);
driver.get("http://Myurl.com"); 
WebDriverWait wait= new WebDriverWait(driver,10);   

案例1:wait.until(ExpectedConditions.elementToBeClickable(By.id(“Tesr”))); 对于Above Code驱动程序在抛出异常之前等待大约10秒但是如果使用下面的代码将WebElement传递给函数“elementToBeClickable”,它会在大约500 ms后抛出异常

案例2:wait.until(ExpectedConditions.elementToBeClickable(driver.findElement(By.id(“Tesr”))));

请有人告诉我为什么案例2司机没有等到超时值。

1 个答案:

答案 0 :(得分:0)

在显式等待函数中使用driver.findElement时,driver.findElement优先执行。这只是意味着,WebDriver尝试找到元素并将找到的元素提供给ExpectedCondiions.elementToBeClickable方法。因此,在尝试查找元素时,仅考虑隐式等待(全局等待),因为在您的情况下隐式等待是500毫秒并且未找到元素NoSuchElementException被抛出。

不,如果异常是从隐式等待中抛出的,那么你会得到TimeOutException。相反,你会得到来自NoSuchElementException方法的driver.findElement