运行代码时:
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
,也会发生这种情况我测试过:
此插件可能无法控制此证书问题。
我的问题是: 如何确保下载始终有效? 我是否可以将浏览器驱动程序下载添加到我的本地Maven Nexus存储库以避免此类问题导致我的构建失败?
或者我是否需要设置本地Web服务器并调整webdrivermanager.properties文件并进行调整: wdm.phantomjsDriverUrl = https://bitbucket.org/ariya/phantomjs/downloads/ wdm.phantomjsDriverTaobaoUrl = http://npm.taobao.org/mirrors/phantomjs
答案 0 :(得分:0)
您可以手动下载二进制文件并将其存储在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();