1

我在使用 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);
}

我也尝试过使用“PhantomJSDriverService.PHANTOMJS_CLI_ARGS”并添加了 cli 参数“--web-security=false”。在所有情况下,我都可以在控制台中看到类似以下内容,但似乎没有一个真正起作用。

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}}"

任何想法将不胜感激。

4

1 回答 1

1

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

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

于 2015-01-27T16:13:59.347 回答