以前脚本运行正常。但是,当我在下面的环境中运行自动化脚本时,我最近收到错误。
操作系统版本:Windows 7
Selenium版本:selenium-java-2.37.0
驱动程序版本:ChromeDriver 2.8
得到如下错误:
Starting ChromeDriver (v2.8.241075) on port 22931
Exception in thread "main" org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the remote browser. It may have died.
现在我的Chrome浏览器已更新到最新版本。所以我试着下载最新的selenium和chromedriver版本。我尝试使用下面的env。
操作系统版本:Windows 7
硒版:selenium-java-3.7.1
驱动程序版本:ChromeDriver 2.33
Chrome浏览器:版本62.0.3202.94(官方版本)(64位)
但我仍然得到如下错误:
Exception in thread "main" java.lang.NoSuchFieldError: INSTANCE
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.<clinit>(SSLConnectionSocketFactory.java:146)
at org.openqa.selenium.remote.internal.HttpClientFactory.getClientConnectionManager(HttpClientFactory.java:71)
如何解决此问题?
答案 0 :(得分:0)
驱动程序和浏览器兼容性问题众所周知。在大多数情况下,第一个将不得不赶上后者。例如,并非所有ChromeDriver版本都与所有版本的Chrome兼容。有一天你运行测试脚本,如果它中断,更新驱动程序。然后它工作。或者有一天Chrome可以在不告诉你的情况下悄悄更新。因此,明确锁定其版本是一种很好的做法(这包括禁用浏览器更新)。
检查这些版本的一种方法是浏览ChromeDriver的当前发行说明。如果这仍然没有帮助 - 降级驱动程序或浏览器对,直到它工作。有几次我不得不自己玩猜谜游戏,直到让它再次运作。
答案 1 :(得分:0)
此问题现已解决。我将我的java版本更新为9并在env。
下面使用Java版本:9.0.1
Selenium版:selenium-java-3.3.1
驱动程序版本:ChromeDriver 2.33
Chrome浏览器:版本62.0.3202.94(官方版本)(64位)