14
votes

Using Python 2.7.5, python module selenium (2.41.0) and chromedriver (2.9).

When Chrome starts it displays a message in a yellow popup bar: "You are using an unsupported command-line flag: --ignore-certificate-errors. Stability and security will suffer." This simple example reproduces the problem.

from selenium import webdriver
browser = webdriver.Chrome()
browser.get("http://google.com/")

How do I remove this command-line flag in python selenium?

6
Here is pretty same question stackoverflow.com/q/23834413/2504101 but solution seems to be different - olyv
but that question involves java code, not python - Loknar
Accepted answer is now obsolete: @Shawn Erquhart has it right. No fiddling with Chrome options is needed, no warnings shown. Chrome 2.20 works out of the box. - Peter M. - stands for Monica
@Peter Masiar: right, fixed - Loknar

6 Answers

3
votes

This issue is resolved as of Chromedriver 2.11 (released Oct 2014). Updating will now do the trick.

13
votes

This extra code removes the --ignore-certificate-errors command-line flag for me. In my opinion the arguments that can be added to webdriver.Chrome() could (and should) be better documented somewhere, I found this solution in a comment on the chromedriver issues page (see post #25).

from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_experimental_option("excludeSwitches", ["ignore-certificate-errors"])
browser = webdriver.Chrome(chrome_options=options)
browser.get("http://google.com/")
2
votes

you can use the following flag --test-type

            var options = new ChromeOptions();
            options.AddArguments(new[] {
                "--start-maximized",
                "allow-running-insecure-content", 
                "--test-type" });

            return new ChromeDriver(options);
1
votes

This is what I'm currently using in Java to get around this issue but I don't know how Python works but worth a try anyway

ChromeOptions chrome = new ChromeOptions();
chrome.addArguments("test-type");
        capabilities.setCapability(ChromeOptions.CAPABILITY, chrome);
        capabilities.setCapability("chrome.binary",
                "C:\\set path to driver here\\chromedriver.exe");
1
votes
    options = webdriver.ChromeOptions()

    options.add_argument('test-type')
    chromedriver = 'resources/chromedriver.exe'



    os.environ["webdriver.chrome.driver"] = chromedriver

    self.driver = webdriver.Chrome(chromedriver,chrome_options=options)
1
votes

I was having this problem using Selenium2 with Robot on a Mac. The problem ended up being that I had the wrong version of chromedriver installed on my system...

$ chromedriver
Starting ChromeDriver (v2.9.248307) on port 9515    <<Version 2.9 was the problem

I found it in /usr/local/bin and just removed it and replaced it from the official download page and it seems to have cleared it all up...

$ chromedriver
Starting ChromeDriver 2.25.426935 (820a95b0b81d33e42712f9198c215f703412e1a1) on port 9515
Only local connections are allowed.