ChromeDriver: deshabilita las extensiones de modo desarrollador emergentes en la automatización de Selenium WebDriver

Tengo el siguiente problema: cuando estoy ejecutando mis pruebas de automatización, sigo recibiendo la siguiente alerta “Deshabilitar la extensión del modo de desarrollador” en Chrome.

enter image description here

¿Hay alguna forma de eliminar / deshabilitar esto ?. Es un bloqueador para mí ya que me está haciendo fallar algunas pruebas.

Gracias por adelantado

¿Intentó deshabilitar las extensiones del desarrollador con el parámetro de línea de comandos?

Pruebe con el siguiente código java Selenium WebDriver:

System.setProperty("webdriver.chrome.driver", "D:\\chromedriver.exe"); ChromeOptions options = new ChromeOptions(); options.addArguments("--disable-extensions"); driver = new ChromeDriver(options); 

No puedo deshabilitar extensiones porque estoy desarrollando y probando una.

Lo que estoy haciendo para descartar esta ventana emergente es el siguiente:

  1. Cargué Chrome con mi extensión usando Selenium.
  2. Luego creo inmediatamente una nueva ventana (a través del método SendKeys(Control-N) ). Esto, de forma previsible, muestra la ventana emergente “Deshabilitar extensiones de modo de desarrollador” después de 3 segundos en la nueva ventana.
  3. No puedo decirlo programáticamente cuando aparece (no aparece en las capturas de pantalla), así que simplemente espero 4 segundos.
  4. Luego cierro la pestaña a través del driver.Close(); (que también cierra esta nueva ventana). Chrome lo toma como “cancelar”, descartando la ventana emergente, dejando la ventana y la pestaña originales.

Encuentro esto necesario porque la ventana emergente interfiere con la interacción normal del navegador de selenium, como SendKeys, que estoy usando para cambiar las tabs y ventanas.

Esto se ha corregido automáticamente con una combinación de ChromeDriver.exe V2.23 + Chrome 53.0 .

Para entender qué versión de Chrome funcionará con qué controlador, podemos usar el siguiente documento detallado: https://sites.google.com/a/chromium.org/chromedriver/downloads

¡Disfruta de las pruebas automatizadas!

Trabajé alrededor de este problema usando AutoIT.

Primero, necesitarás crear el script.

closechromewarning.au3:

 WinWaitActive("[CLASS:Chrome_WidgetWin_1]") Send("{ESC}") 

La secuencia de comandos debe comstackrse en un .exe , luego coloque el .exe en la ruta para que pueda ejecutarse.

Función que cierra la advertencia, usando la syntax c #:

 public void CloseChromeDialog() { System.Threading.Thread.Sleep(5000); Process.Start(@".\closechromewarning.exe"); } 

Sleep(4000) funcionó, pero lo aumenté a Sleep(5000) solo para estar seguro.

Llamar a CloseChromeDialog() :

 if(browser == chrome) //pseudo code CloseChromeDialog(); 

resuelto en cromado 54 y cromado 2.25

Yo también enfrenté este problema. La solución es, si está utilizando maven, simplemente agregue:

-Dchrome.switches=--disable-extensions

Deshabilitará todas las extensiones y no enfrentará este problema.

Estoy usando Selenium Webdriver 2.53 y Chrome versión 56.0.2924.87 y el chrome driver.exe que estoy usando es 2.27. con esta combinación está trabajando con el

 System.setProperty("webdriver.chrome.driver", "./utilities/chromedriver.exe"); ChromeOptions options = new ChromeOptions(); options.addArguments("--disable-extensions"); DesiredCapabilities caps = new DesiredCapabilities().chrome(); caps.setCapability(ChromeOptions.CAPABILITY, options); driver = new ChromeDriver(caps); 

Intenta agregar setProperty arriba de la instancia de ChromeDriver

 System.setProperty("webdriver.chrome.driver","C:/[PATH]/chromedriver.exe"); driver = new ChromeDriver(capabilities); 

He estado enfrentando el mismo problema durante mucho tiempo. La solución resulta ser muy simple. Simplemente descargue el “chromedriver.exe” actualizado y péguelo reemplazándolo con el existente ubicado en “C: \ Program Files \ SeleniumBasic”. Espero que haga el truco.

A partir de Chromedriver v2.33, la forma correcta de evitar este mensaje es pasar load-extension al argumento chromeOptions objeto chromeOptions . El siguiente código de Java debería ser el truco, aunque no lo he probado, ya que estoy ejecutando Python:

 ChromeOptions options = new ChromeOptions(); options.setExperimentalOption("excludeSwitches", Collections.singletonList("load-extension")); 

Como han señalado otros, el culpable es probablemente la extensión de automatización de Chrome, que Chromedriver carga automáticamente cuando lanza Chrome.

Chromedriver v2.33 introdujo el nuevo interruptor para evitar que las extensiones se carguen:

Actualiza a la función excludeSwitches que ahora permite excluir el interruptor de carga-extensión.

Sospecho que esta solución no requiere que desactive todas las extensiones. Deberías poder cargar otros manualmente.

Esto se debe a que una de sus extensiones se está ejecutando en modo desarrollador. Revise su lista de extensiones y deshabilite las extensiones una por una hasta que encuentre al culpable (s).

    Intereting Posts