Firefox版本:52.0.1 (32 位)
selenium版本号:selenium-server-standalone-3.0.1.jar
开发语言:java
背景:
用selenium写自动化脚本,最开始一个页面转移到另一个页面时,使用Thread.sleep(xx)等待页面加载,运行时,一切正常。后做优化,想使用WebDriverWait 代替Thread.sleep,时不时出现click失效的情况。
WebDriverWait:
e.g.: new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.linkText("abc")));
WebDriverWait的作用是如果20s内所指定元素(By.linkText("abc"))加载出来了,就直接运行下一个语句;若20秒还没加载出来,抛出超时错误
出现问题原因:html文档加载出来了,但是对应的图标还没加载出来,所以当时点击无效
解决方法:
在WebDriverWait 语句后面,适当加一点的休息时间,即Thread.sleep