一直在尝试配置并遇到了很多麻烦,尝试了很多尝试但失败了。
- Chromedriver=2.30.477691
- 铬 59.0.3071.115
- 内部版本信息:版本:"3.14.0">
- 硒 3.4
- java.version: '1.8.0_121'
- Linux 3.10.0-229.4.2.el7.x86_64 x86_64
错误:
unknown error: cannot find Chrome binary (Driver info: chromedriver=2.30.477691 (6ee44a7247c639c0703f291d320bdf05c1531b57),platform=Linux 3.10.0-229.4.2.el7.x86_64 x86_64) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 59 milliseconds Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:19:58.91Z' System info: host: '8f5b40c32460', ip: 'x', os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-229.4.2.el7.x86_64', java.version: '1.8.0_121' Driver info: driver.version: ChromeDriver
此错误消息...
unknown error: cannot find Chrome binary (Driver info: chromedriver=2.30.477691 (6ee44a7247c639c0703f291d320bdf05c1531b57),platform=Linux 3.10.0-229.4.2.el7.x86_64 x86_64) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 59 milliseconds Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:19:58.91Z' System info: host: '8f5b40c32460', ip: 'x', os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-229.4.2.el7.x86_64', java.version: '1.8.0_121' Driver info: driver.version: ChromeDriver
。暗示ChromeDriver无法启动/生成新的浏览上下文,即Chrome浏览器会话。
您的主要问题是您使用的二进制文件版本之间的不兼容,如下所示:
- 您正在使用的 chromedriver =2.30
- chromedriver=2.30的发行说明明确提到了以下内容:
支持铬 v58-60
- 您正在使用的 chrome=59.0
- 您的Selenium客户端版本是3.14.0的2018-08-02T20:19:58.91Z,几乎早了2.5年。
- 您的JDK版本是1.8.0_121,这是非常古老的。
所以JDK v8u121、Selenium Client v3.14.1、ChromeDriver v2.30和Chrome浏览器v59.0之间存在明显的不匹配
。溶液
确保:
- JDK已升级到当前级别 JDK 8u232。
- 硒已升级到当前级别 版本 3.141.59。
- ChromeDriver已更新到当前的 ChromeDriver v79.0.3945.36 级别。 Chrome
- 已更新到当前的Chrome 版本 79.0级别。(根据 ChromeDriver v79.0 发行说明(
- 通过IDE清理项目工作中心,并仅使用所需的依赖项重新生成项目。
- 如果您的基本 Web 客户端版本太旧,请通过Revo 卸载程序将其卸载,并安装最新的 GA 和已发布版本的Web 客户端。
- 重新启动系统。
- 以非 root用户身份执行
@Test
。 - 始终在方法中调用
driver.quit()
tearDown(){}
以正常关闭和销毁WebDriver和Web 客户端实例。