Java 以PhantomJS启动的RemoteWebdriver未打开https url

Java 以PhantomJS启动的RemoteWebdriver未打开https url,java,https,selenium-webdriver,web-scraping,phantomjs,Java,Https,Selenium Webdriver,Web Scraping,Phantomjs,我正在使用selenium和PhantomJs来抓取URL。我初始化驱动程序如下 final DesiredCapabilities caps = DesiredCapabilities.chrome(); caps.setCapability( PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, "PhantomJsPath"); caps.setCapability("page.settings

我正在使用selenium和PhantomJs来抓取URL。我初始化驱动程序如下

final DesiredCapabilities caps = DesiredCapabilities.chrome();
caps.setCapability(
        PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY,
        "PhantomJsPath");
caps.setCapability("page.settings.loadImages", false);
caps.setCapability("trustAllSSLCertificates", true);

RemoteWebDriver driver = new PhantomJSDriver(caps);
driver.setLogLevel(Level.OFF);
driver.get("https://.......")
从驱动程序获取的pagesource为空


我遗漏了什么吗?

最近,狮子狗漏洞迫使网站删除了对SSLv3的支持。由于PhantomJS--ssl protocol=tlsv1
--ssl protocol=any
运行PhantomJS。请参阅以获取普通幻影

caps = DesiredCapabilities.phantomjs(); // or new DesiredCapabilities();
caps.setCapability(PhantomJSDriverService.PHANTOMJS_CLI_ARGS, 
        new String[] {"--ssl-protocol=tlsv1"});
// other capabilities
driver = new PhantomJSDriver(caps);
如果这不能解决问题,您还可以添加

"--web-security=false", "--ignore-ssl-errors=true"

在SiKing的回答中可以看到cli参数的字符串数组。

Selenium对于web抓取是一个糟糕的选择。你看过curl或httpbuilder之类的东西吗?我需要提交表单并进行Javascript更改。所以我更喜欢硒。你能找到它的工作,以刮https网址。我想我要抓取的url有一些未知的证书,因此它不是抓取。我们必须设置参数以忽略SSL参数。我无法获得正确的参数——ssl协议=tlsv1适合我。我试过用后者,但不起作用