Unsupported command-line flag: --ignore-certificat

2019-02-03 07:10发布

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条回答
看我几分像从前
2楼-- · 2019-02-03 07:52
    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)
查看更多
▲ chillily
3楼-- · 2019-02-03 08:02

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/")
查看更多
男人必须洒脱
4楼-- · 2019-02-03 08:02

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.
查看更多
做自己的国王
5楼-- · 2019-02-03 08:07

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");
查看更多
Fickle 薄情
6楼-- · 2019-02-03 08:11

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);
查看更多
一夜七次
7楼-- · 2019-02-03 08:12

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

查看更多
登录 后发表回答