for experimental example ejemplo desiredcapabilities chromeoptions chromedriver chrome selenium selenium-webdriver webdriver

selenium - experimental - ¿Pasar ChromeOptions del conductor y DesiredCapabilities?



selenium chromedriver linux (4)

La nueva actualización de Google Chrome hace que este mensaje aparezca en el navegador "Estás usando un indicador de línea de comandos no compatible: --ignore-certificate-errors. La estabilidad y la seguridad se verán afectadas".

De lo que leí en los informes de errores de selenio, la solución temporal es comenzar con el controlador de web con

options.AddArgument("test-type")

Ya estaba pasando Habilidades deseadas al crear el controlador. ¿Cómo puedo pasar ChromeOptions y DesiredCapabilities al controlador?

DesiredCapabilities capabilities = DesiredCapabilities.chrome(); capabilities.setCapability("chrome.switches", Arrays.asList("--incognito")); ChromeOptions options = new ChromeOptions(); options.addArguments("test-type"); WebDriver driver = new ChromeDriver(capabilities);


System.setProperty("webdriver.chrome.driver","<<your chrome path>>"); // To remove message "You are using an unsupported command-line flag: --ignore-certificate-errors. // Stability and security will suffer." // Add an argument ''test-type'' DesiredCapabilities capabilities = DesiredCapabilities.chrome(); ChromeOptions options = new ChromeOptions(); options.addArguments("test-type"); capabilities.setCapability("chrome.binary", the_entered_chrome_path); capabilities.setCapability(ChromeOptions.CAPABILITY, options); driver = new ChromeDriver(capabilities);

¡Funcionó para mí también! ¡Gracias chicos!


FYI: Esta técnica no parece funcionar con Chrome 41.0.2272.101m.

ChromeOptions chromeOptions = new ChromeOptions(); chromeOptions.AddExcludedArgument("ignore-certificate-errors"); capabilities = DesiredCapabilities.Chrome(); capabilities.SetCapability(ChromeOptions.Capability, chromeOptions); new RemoteWebDriver(hubUri, capabilities, TimeSpan.FromSeconds(180))

Genera

09:39:24.110 WARN - Exception: unknown error: cannot parse capability: chromeOptions from unknown error: unrecognized chrome option: Arguments (Driver info: chromedriver=2.10.267521,platform=Windows NT 6.3 x86_64) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 1.52 seconds Build info: version: ''2.43.0'', revision: ''597b76b'', time: ''2014-09-09 20:52:14'' System info: host: ''T10-E8-GREGPE'', ip: ''10.123.160.70'', os.name: ''Windows 8.1'', os.arch: ''x86'', os.version: ''6.3'', java.version: ''1.8.0_40'' Driver info: org.openqa.selenium.chrome.ChromeDriver

Esto parece funcionar:

ChromeOptions chromeOptions = new ChromeOptions(); chromeOptions.AddArgument("test-type"); capabilities = (DesiredCapabilities)chromeOptions.ToCapabilities(); new RemoteWebDriver(hubUri, capabilities, TimeSpan.FromSeconds(180));


Estaba peleando con el mismo problema, y ​​finalmente lo resolví. Básicamente, puede agregar ChromeOptions a DesiredCapabilities luego crear el controlador con las DesiredCapabilities . Una vez que lo probé, se deshizo de la pancarta. De todos modos, aquí está el código:

DesiredCapabilities capabilities = DesiredCapabilities.chrome(); ChromeOptions options = new ChromeOptions(); options.addArguments("test-type"); capabilities.setCapability("chrome.binary", "<Path to binary>"); capabilities.setCapability(ChromeOptions.CAPABILITY, options); webDriver = new ChromeDriver(capabilities);