Java - PhantomJS 和 Selenium - 忽略 SSL 错误

Java - PhantomJS and Selenium - Ignore SSL Errors

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

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

我正在使用:

我试过为所需的功能设置 --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”。在所有情况下,我都可以在控制台中看到类似以下内容,但 none 似乎确实有效。

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

如有任何想法,我们将不胜感激。

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

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