selenium - permitir - WebDriver Chrome Browser: Evite la ventana emergente ''¿Desea que Chrome guarde su contraseña''?
pop ups chrome (7)
Cada vez que mi controlador web prueba el inicio de sesión en la aplicación, aparece el mensaje emergente ''¿Quieres que Chrome guarde tu contraseña''? ¿Hay alguna forma de evitar esto?
Por favor ayuda.
Gracias Mike
Debe configurar las siguientes opciones de controlador de Chrome:
chromeOptions: {
prefs: {
''credentials_enable_service'': false,
''profile'': {
''password_manager_enabled'': false
}
}
}
Estoy usando Python, y esto funcionó para mí:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_experimental_option(''prefs'', {
''credentials_enable_service'': False,
''profile'': {
''password_manager_enabled'': False
}
})
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.get(''https://google.com'')
Gracias al comentario de @karanvir Kang anterior, agregué lo siguiente a mi conf.js, que uso cuando llamo el transportador. Ejemplo
protractor tests/conf.js --specs /tests/e2e/myspec.spec.js
Y en mi conf.js
exports.config = {
seleniumAddress: ''http://localhost:4444/wd/hub'',
seleniumPort: ''4455'',
baseUrl: url,
directConnect: false,
//getMultiCapabilities: helper.getFirefoxProfile,
capabilities: {
browserName: ''chrome'',
chromeOptions: {
prefs: {
''credentials_enable_service'': false,
''profile'': {
''password_manager_enabled'': false
}
},
args: [
''--disable-cache'',
''--disable-application-cache'',
''--disable-offline-load-stale-cache'',
''--disk-cache-size=0'',
''--v8-cache-options=off''
]
}
},
Para proporcionar una imagen más completa, aquí hay una configuración de trabajo para Watir en una cuadrícula de selenio:
RSpec.configure do |config|
config.before :all do
capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(
chromeOptions: {
prefs: {
''credentials_enable_service'': false,
''profile'': {
''password_manager_enabled'': false
}
}
}
)
@browser = Watir::Browser.new(
:remote,
url: "http://#{ENV.fetch(''HUB_HOST'')}/wd/hub",
desired_capabilities: capabilities
)
end
config.after :all do
@browser&.close
end
end
Vea una prueba de concepto completa en github en docker-grid-watir .
Sí, acabo de encontrar la respuesta. Tuve que buscar en el directorio de datos de usuario de Chrome y encontrar todas las opciones disponibles de Chrome en el archivo de Preferencias. Estoy en Centos 7 por lo que el camino se ve así:
~/.config/google-chrome/Default/Preferences
Para eliminar el cuadro de diálogo de guardar contraseña, la sección de configuración JSON chromeOptions debe tener esto:
chromeOptions: {
prefs: {
profile: {
password_manager_enabled: false
}
}
}
Realmente me hace feliz que finalmente haya encontrado estas opciones, sin embargo, todavía es decepcionante que Google o Selenio no hayan incluido todas las preferencias configurables.
Solo agrega estas preferencias a tus opciones de controlador de Chrome:
Map<String, Object> prefs = new HashMap<String, Object>();
prefs.put("credentials_enable_service", false);
prefs.put("password_manager_enabled", false);
options.setExperimentalOption("prefs", prefs);
También puede iniciar el chromedriver en modo incógnito para evitar que aparezcan las barras de información. Tenga en cuenta que la experiencia será como el modo de incógnito. El comando será
chrome.exe --incognito
si está ejecutando desde la línea de comandos puede agregar --incognito
a la matriz de chromeswitch para ejecutar desde webdriver.