我正在尝试使用铬驱动程序来硒。虽然所有其他操作都可以正常工作,但当我使用以下代码时,我会出现异常。该元素确实存在,并且驱动程序不为 null。如果我注释掉这个调用(并替换为睡眠(,测试可以正常进行。知道失败的原因是什么。
WebDriverWait wait = new WebDriverWait(driver, timeout);
wait.until(ExpectedConditions.visibilityOf(element));
java.lang.NullPointerException at org.openqa.selenium.remote.RemoteWebElement.isDisplay(RemoteWebElement.java:320( at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method( at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62( at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43( at java.lang.reflect.Method.invoke(Method.java:498( at org.openqa.selenium.support.pagefactory.internal.LocatingElementHandler.invoke(LocatingElementHandler.java:51( at com.sun.proxy.$Proxy 10.isDisplay(未知来源( at org.openqa.selenium.support.ui.ExpectConditions.elementIfVisible(ExpectConditions.java:315( at org.openqa.selenium.support.ui.ExpectConditions.access$100(ExpectConditions.java:44( at org.openqa.selenium.support.ui.ExpectConditions$10.apply(ExpectConditions.java:301( at org.openqa.selenium.support.ui.ExpectConditions$10.apply(ExpectConditions.java:298( at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:248(
将硒降级到 3.0.1 解决了这个问题。
此错误可能是由chromedriver引起的。我在 chrome 驱动程序版本 77.x 时遇到了同样的问题,然后在我将 chromedriver 降级到版本 76.x 时问题得到解决。请参阅以下页面: https://bugs.chromium.org/p/chromedriver/issues/detail?id=3123