Java - PhantomJS和Selenium - 忽略SSL错误

时间:2015-01-27 15:36:51

标签: java phantomjs ghostdriver

我在使用SSL的网页时遇到问题。我很确定这是问题所在,因为我可以访问http页面并获取整页源代码,但是当我转到https地址时,我会得到以下内容:

<html><head></head><body></body></html>

我正在使用:

  • PhantomJS v.1.9.1
  • GhostDriver v.1.0.3
  • Java 1.7

我尝试在所需的功能上设置--ignore-ssl-errors = true,但它似乎并没有起作用。

public WebDriver createDriver(DesiredCapabilities dcaps) {
    dcaps.setCapability(
        PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY,
        "target/classes/phantomjs.exe");
    String [] phantomJsArgs = {"--ignore-ssl-errors=true"};
    dcaps.setCapability(
        PhantomJSDriverService.PHANTOMJS_GHOSTDRIVER_CLI_ARGS, 
        phantomJsArgs);
    return new PhantomJSDriver(dcaps);
}

我也尝试过使用&#34; PhantomJSDriverService.PHANTOMJS_CLI_ARGS&#34;并使用cli参数&#34; - web-security = false&#34;添加。在所有情况下,我都可以在控制台中看到类似下面的内容,但似乎没有任何实际工作。

DEBUG: org.apache.http.wire -  >> "{"desiredCapabilities":{
"loggingPrefs":{"driver":"FINEST"},"cssSelectorsEnabled":true,
"javascriptEnabled":true,"phantomjs.ghostdriver.cli.args":["--ignore-ssl-errors=true"],
"phantomjs.binary.path":"target/classes/phantomjs.exe",
"takesScreenshot":true}}"

非常感谢任何想法。

1 个答案:

答案 0 :(得分:1)

这似乎是PhantomJS 1.9.1的一个错误,并在1.9.8版中得到修复。我能够通过升级到更新的驱动程序来解决这个问题。

通过此错误报告找到答案:https://github.com/ariya/phantomjs/issues/12655