Saltar al contenido

No se puede ocultar la barra de información “Chrome está siendo controlado por software automatizado” dentro de Chrome v76

Solución:

A partir del 1 de agosto de 2019: puede enviar el conmutador de exclusión – habilitar la automatización para ocultar el mensaje. y para deshabilitar la ventana emergente ‘Deshabilitar extensiones en modo desarrollador’, configure useAutomationExtension = false. Consulte para su usoAutomationExtension

Probado en: Windows 10 versión 76.0.3809.87 (compilación oficial) (64 bits) ChromeDriver 76.0.3809.68

–enable-automation: informa a los usuarios que su navegador está siendo controlado por una referencia de prueba automatizada

     "goog:chromeOptions": {

        "excludeSwitches": [ "enable-automation" ],
        "useAutomationExtension": false
     }

C ª# :

Para deshabilitar la ventana emergente “Deshabilitar las extensiones del modo de desarrollador” y el mensaje de la barra de información de automatización.

options.AddExcludedArgument("enable-automation");
options.AddAdditionalCapability("useAutomationExtension", false);

En JAVA:

options.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation"));
options.setExperimentalOption("useAutomationExtension", false);

En Python:

options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)

En transportador:

Agregue las siguientes capacidades en conf.js / conf.ts

capabilities: {
    'browserName': 'chrome',
    "goog:chromeOptions": {
      "excludeSwitches": [ "enable-automation" ],
      "useAutomationExtension": false
   }
  },

Cromo equipo introdujo anteriormente la barra de información Chrome is being controlled by automated test software deshabilitar Developer mode extension ventana emergente dentro del navegador Chrome a través de este compromiso.

Según la discusión Flakiness debido a la barra de información de automatización de Chrome (Chrome 57+) con la adición de la barra de información para mostrar si una sesión está siendo controlada por una prueba automatizada dentro de Chrome se observó que la presencia de la barra de información de automatización de Chrome Chrome is being controlled by automated test software intermitentemente provocó la click() función para fallar. Durante las pruebas, cuando se eliminó la barra de información al pasar disable-infobars dentro de chrome_launcher.cc luego, las pruebas anteriores se ejecutan como se esperaba sin ningún problema. [email protected] confirmó que el culpable era el registro de cambios:

Add an infobar if a session is being controlled by an automated test.

This infobar is only displayed if the browser is launched with the --enable-automation switch. It also disables the developer mode extensions warning bubble.

TEST=launch with and without --enable-automation, and check for presence of automation infobar

Se observó que, durante un clic, se produce la animación de la barra de información y obtuvimos resultados inestables. Entonces Cromo El equipo necesitaba detectar este cambio de alguna manera y volver a calcular la posición. El problema real era, si un Page.frameResized Ocurrió que podemos invalidar los resultados de algunas operaciones y reintentar (por ejemplo, obtener la posición del elemento) pero hubo otras operaciones que pueden modificar la página, como los clics del mouse. Es posible que un clic del mouse (que implica un movimiento de mouse, mousedown y un evento de mouseup) pueda tener un evento de cambio de tamaño en el medio.

Respectivamente, Cromo El equipo lanzó una revisión a través de este compromiso:

Disable info bar animations during automated testing.

Desde entonces Cromo usuario, para deshabilitar la barra de información comenzó a usar:

  • Java:

    options.addArguments("disable-infobars");
    
  • Pitón:

    options.add_argument("disable-infobars")
    
  • C#:

    option.AddArguments("disable-infobars");
    

Ahora, en la discusión, Chrome está siendo controlado por el software de prueba automatizado, la barra de información no se suprime a pesar de usar el argumento deshabilitar las barras de información Cromo miembro del equipo [email protected] mencionado claramente:

A partir de la versión 76, la capacidad de suprimir la barra de información se trasladó de las opciones de la línea de comandos a la configuración de la política empresarial para Chrome.

El cambio ya fue mencionado en el Notas de lanzamiento y notas de la versión de Chrome Enterprise de la siguiente manera

--disable-infobars is no longer supported

Chrome will no longer support the --disable-infobars flag, which was used to hide pop-up warnings
from Chrome Browser. To support automated testing, kiosks, and automation, the
CommandLineFlagSecurityWarningsEnabled policy was added to allow you to disable some security
warnings.

Entonces, de Chrome v76.x adelante --disable-infobars La bandera está oficialmente en desuso.


Conclusión

La póliza no es una opción o un capacidad que se establece cuando se inicia ChromeDriver o Chrome, ya que las políticas de seguridad suelen ser administradas por el departamento de TI de la empresa. De ahí el uso de disable-infobars han quedado obsoletos.


Un pequeño truco

los --disable-infobars la bandera todavía se puede quitar de Chrome v76.x usando estos 2 (dos) Opción experimental:

  • Excluding los interruptores para enable-automation
  • Configuración useAutomationExtension para False

Implementaciones

Aquí están las implementaciones:

  • Java:

    ChromeOptions options = new ChromeOptions();
    options.addArguments("start-maximized");
    options.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation"));
    options.setExperimentalOption("useAutomationExtension", false);
    WebDriver driver = new ChromeDriver(options);
    driver.get("https://google.com");
    
  • Pitón:

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    options = Options()
    options.add_argument("start-maximized")
    options.add_experimental_option("excludeSwitches", ["enable-automation"])
    options.add_experimental_option('useAutomationExtension', False)
    driver = webdriver.Chrome(chrome_options=options, executable_path=r'C:UtilityBrowserDriverschromedriver.exe')
    driver.get('https://www.google.co.in')
    

Outro

Según el artículo CommandLineFlagSecurityWarningsEnabled:

Enable security warnings for command-line flags

Supported on: Google Chrome (Linux, Mac, Windows) since version 76

Description: If disabled, prevents security warnings from appearing when Chrome is launched with some potentially dangerous command-line flags.
             If enabled or unset, security warnings are displayed when some command-line flags are used to launch Chrome.
             On Windows, this policy is only available on instances that are joined to a Microsoft Active Directory domain or Windows 10 Pro or Enterprise instances that are enrolled for device management.

Para ocultar la barra de información “Chrome está siendo controlado por un software de prueba automatizado” en C # para Chrome v76:

var chromeOptions = new ChromeOptions();
...
chromeOptions.AddAdditionalCapability("useAutomationExtension", false);
chromeOptions.AddExcludedArgument("enable-automation");
...
var driver = new ChromeDriver(ChromeDriverService.CreateDefaultService(), chromeOptions, commandTimeout);
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *