不支持的命令行标志:--ignore-certificate-errors
使用的是Python 2.7.5,selenium模块(版本2.41.0)和chromedriver(版本2.9)。
当Chrome浏览器启动时,会在一个黄色的弹出条上显示一条消息:“你正在使用一个不被支持的命令行标志:--ignore-certificate-errors。这样会影响稳定性和安全性。”这个简单的例子重现了这个问题。
from selenium import webdriver
browser = webdriver.Chrome()
browser.get("http://google.com/")
我该如何在python selenium中去掉这个命令行标志呢?
6 个回答
在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。这些问题可能会让我们感到困惑,尤其是当我们刚开始学习编程的时候。为了帮助大家更好地理解这些问题,下面的内容将会用简单易懂的语言进行解释。
首先,了解一些基本概念是很重要的。比如,什么是变量?变量就像一个盒子,我们可以把数据放进去,随时取出来使用。这样,我们就可以在程序中灵活地处理这些数据。
接下来,我们可能会用到一些函数。函数可以看作是一个小工具,它可以执行特定的任务。我们只需要告诉它要做什么,它就会帮我们完成。这样,我们的代码就会变得更加简洁和易于管理。
在编程的过程中,错误是很常见的。遇到错误时,不要着急,先仔细检查代码,看看哪里可能出错了。通常,错误信息会给我们一些提示,帮助我们找到问题所在。
最后,记得多练习!编程是一项技能,只有通过不断的实践,才能逐渐掌握。遇到不懂的地方,可以查阅资料或者请教他人,学习是一个不断积累的过程。
希望这些简单的解释能帮助你更好地理解编程的基本概念,祝你学习愉快!
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)
这是我现在在Java中用来解决这个问题的方法,不过我不知道Python是怎么工作的,但试试看也没坏处。
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");
你可以使用下面这个标志 --test-type
var options = new ChromeOptions();
options.AddArguments(new[] {
"--start-maximized",
"allow-running-insecure-content",
"--test-type" });
return new ChromeDriver(options);
这段额外的代码帮我去掉了 --ignore-certificate-errors 这个命令行参数。我觉得可以在某个地方更好地记录一下可以加到 webdriver.Chrome() 里的参数,因为我是在 chromedriver 问题页面 的评论中找到这个解决方案的(见第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/")
这个问题在Chromedriver 2.11版本中已经解决了(这个版本是在2014年10月发布的)。只需要更新到这个版本就可以解决问题了。