1

运行代码时:

PhantomJsDriverManager.getInstance().forceCache().setup();

或者:

PhantomJsDriverManager.getInstance().setup();

下载驱动程序时出现证书异常:

java.lang.RuntimeException: javax.net.ssl.SSLPeerUnverifiedException: Host name 'bbuseruploads.s3.amazonaws.com' does not match the certificate subject provided by the peer (CN=*.s3.amazonaws.com, O=Amazon.com Inc., L=Seattle, ST=Washington, C=US)
    at io.github.bonigarcia.wdm.BrowserManager.manage(BrowserManager.java:262)
    at io.github.bonigarcia.wdm.BrowserManager.setup(BrowserManager.java:765)
    at io.github.bonigarcia.wdm.BrowserManager.setup(BrowserManager.java:725)

OperaDriverManager 和 FirefoxDriverManager 等其他驱动程序也会发生这种情况

我测试过:

  • io.github.bonigarcia webdrivermanager 1.6.2
  • io.github.bonigarcia webdrivermanager 1.7.0

这个证书问题可能是插件无法控制的。

我的问题是:如何确保下载始终有效?我可以将浏览器驱动程序下载添加到我的本地 Maven Nexus 存储库以避免此类问题导致我的构建失败吗?

或者我是否需要设置本地网络服务器并调整 webdrivermanager.properties 文件并调整:wdm.phantomjsDriverUrl= https://bitbucket.org/ariya/phantomjs/downloads/ wdm.phantomjsDriverTaobaoUrl= http://npm.taobao.org /镜子/phantomjs

4

1 回答 1

1

您可以手动下载二进制文件并将其存储在 WebDriverManager 将要查找的位置。在 PhantomJS 的情况下,假设你想使用 2.5.0 版本,那个地方是:

~/.m2/repository/webdriver/phantomjs/<plaform>/2.5.0

例如,对于 Windows:

C:/Users/your-user/.m2/repository/webdriver/phantomjs/windows/2.5.0/phantomjs.exe

... 或者对于 Linux (Ubuntu Xenial):

/home/your-user/.m2/repository/webdriver/phantomjs/linux-ubuntu-xenial-x86_64/2.5.0/phantomjs

之后,您可以使用以下方法强制使用它forceCache()

PhantomJsDriverManager.getInstance().forceCache().setup();
于 2017-07-24T11:22:18.637 回答