到目前为止,我使用了2.45.0版本的硒,所有的等待都是这样完成的:
WebDriverWait wait = new WebDriverWait(webKitUtility.getWebDriver(),5); wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("role")));
但是我将硒更新到3.1.0,我收到错误:
“FluentWait类型中的方法until(Predicate)不适用于参数
(ExpectedCondition)”
我看到从2.45.0到3.1.0有些东西已经被弃用了.我正在调查现在最好的方法是什么,但我不确定.我在Google上发现的大部分事情都是旧信息,解释与目前为止使用的方式相同.
解决方法
我遇到过同样的问题.
我通过使用WebDriverWait的不被弃用的.until()方法修复它,并通过将以下内容添加到我的maven pom.xml中:
<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>21.0</version> </dependency>
除此之外,我的代码看起来和以前一样.
更具体地说现在有两个.until()方法.
旧的(已被弃用):
public void until(final谓词< T> isTrue){}
和新的:公开< V> V直到(功能<?super T,V> isTrue){}