java - org - RemoteWebdriver comenzó con PhantomJS no abre https url
selenium library java (1)
Estoy usando selenio con PhantomJs para raspar la URL. Inicialicé el controlador como abajo
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://.......")
La fuente de página obtenida del controlador está vacía
¿Me estoy perdiendo algo?
Recientemente, la vulnerabilidad de POODLE obligó a los sitios web a eliminar el soporte de SSLv3. Como PhantomJS <v1.9.8 usa SSLv3 de manera predeterminada, la página no se puede cargar. Para solucionar esto, necesitaría ejecutar PhantomJS con --ssl-protocol=tlsv1
o --ssl-protocol=any
. Vea esta respuesta para PhantomJS simple.
caps = DesiredCapabilities.phantomjs(); // or new DesiredCapabilities();
caps.setCapability(PhantomJSDriverService.PHANTOMJS_CLI_ARGS,
new String[] {"--ssl-protocol=tlsv1"});
// other capabilities
driver = new PhantomJSDriver(caps);
Si esto no resuelve el problema, también puede agregar
"--web-security=false", "--ignore-ssl-errors=true"
a la matriz de String de cli args como se ve en la respuesta de SiKing aquí .