J_C*_*der 2 java selenium webdriver selenium-webdriver
当我试图运行下面的代码,visibilityOfElementLocated工作完全正常,webdriver等待给定时间的元素.
dr.get("http://www.seleniumframework.com/Practiceform/");
WebDriverWait wait=new WebDriverWait(dr,30);
WebElement we = wait.until(ExpectedConditions.visibilityOfElementLocated(By.linkText("Element5")));
但如果我使用同样的方式visibilityOf,它给了我
NoSuchElementException异常
WebElement we = wait.until(ExpectedConditions.visibilityOf(dr.findElement(By.linkText("Element3"))));
你能解释一下为什么我得到这个例外吗?
Sau*_*aur 10
但同样的方式,如果我使用"visibilityOf",它给我NoSuchElementException
实际上,你正在Exception通过这行代码dr.findElement(By.linkText("Element3")),在你提供的代码中,这行将首先执行,如果元素将被找到,那么ExpectedConditions.visibilityOf()将执行callable.
仅供参考,WebDriver.findElement()要么抛出异常,要么返回WebElement.
visibilityOfElementLocatedVs  visibilityOf: -
visibilityOfElementLocated用于检查元素是否存在于页面的DOM 上并且可见.意味着它使用Byobject而不是WebElement具有可调用函数的对象来首先找到该元素,然后检查该元素是否可见.
visibilityOf用于检查已知存在于页面DOM上的元素是否可见.意味着您已经找到该元素,只检查该可见性.
| 归档时间: | 
 | 
| 查看次数: | 8569 次 | 
| 最近记录: |