Mike
Mike

Reputation: 919

WebDriver Chrome Browser: Avoid 'Do you want chrome to save your password' pop up

Every time my webdriver tests login into the application, 'Do you want chrome to save your password' pop up appears.. Is there a way to avoid this??

Please help.

Thanks, Mike

Upvotes: 20

Views: 15320

Answers (8)

Andre Guilhon
Andre Guilhon

Reputation: 408

I know this is pretty old, it has been answered correctly and all. Just wanted to give my 5 cents. If you are using Robot Framework, bellow is the way to do it.

open-browser
    ${chrome_options}=    Evaluate    sys.modules['selenium.webdriver'].ChromeOptions()    sys
    ${cred_dict}=      Create Dictionary     credentials_enable_service=${FALSE}
    Call Method    ${chrome_options}    add_experimental_option    prefs     ${cred_dict}
    Create Webdriver     Chrome     chrome    chrome_options=${chrome_options}

Upvotes: 0

mycargus
mycargus

Reputation: 2618

To provide a more complete picture, here is a working configuration for Watir in a Selenium Grid:

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

See a full proof of concept on github at docker-grid-watir.

Upvotes: 1

Paul Preibisch
Paul Preibisch

Reputation: 4332

Thanks to @karanvir Kang comment above, I added the following to my conf.js which I use when I call protractor. Example

protractor tests/conf.js --specs /tests/e2e/myspec.spec.js

And in my 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'
            ]
        }
    },

Upvotes: 4

Steve Saporta
Steve Saporta

Reputation: 4871

I'm using Python, and this worked for me:

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')

Upvotes: 17

Anuj Teotia
Anuj Teotia

Reputation: 1323

Just add these preferences to your chrome driver options:

Map<String, Object> prefs = new HashMap<String, Object>();
prefs.put("credentials_enable_service", false);
prefs.put("password_manager_enabled", false); 
options.setExperimentalOption("prefs", prefs);

Upvotes: 8

Karanvir Kang
Karanvir Kang

Reputation: 2239

You need to configure the following chrome driver options:

chromeOptions: {
            prefs: {
                'credentials_enable_service': false,
                'profile': {
                    'password_manager_enabled': false
                }
            }
        }

Upvotes: 22

jemiloii
jemiloii

Reputation: 25719

Yeah I just found the answer. I had to look into the Chrome's user data directory and find all the available chromeOptions the Preferences file. I'm on Centos 7 so the path looks like this:

~/.config/google-chrome/Default/Preferences

In order to remove the save password dialog, the config JSON chromeOptions section needs to have this:

chromeOptions: {
    prefs: {
        profile: {
            password_manager_enabled: false
        }
    }
}

It really makes me happy that I have finally found these options, however, it still is disappointing that google or selenium didn't list all the configurable preferences.

Upvotes: 6

A.J
A.J

Reputation: 4949

You can also start the chromedriver in incognito mode to stop the infobars from appearing. Please note that the experience will be like the incognito mode. Command will be

chrome.exe --incognito if you are running from command line you can add --incognito to chromeswitch array for executing from webdriver.

Upvotes: 3

Related Questions