Selenium Chromedriver“无法加载扩展”

时间:2017-03-28 20:11:50

标签: python python-2.7 google-chrome selenium

有人能指出我正确的方向吗?

我正在使用以下Python代码运行Chrome:

opts = Options()
opts.add_argument("--disable-extensions")
self.browser = webdriver.Chrome(chrome_options=opts)

我收到以下错误:

enter image description here

我尝试通过代码禁用扩展程序,以及在运行代码之前从Chrome中删除所有扩展程序。这两种解决方案都没有奏效。

我正在使用以下代码运行代码:

  • ChromeDriver 2.28
  • Chrome V57.0.2987.110
  • Selenium 3.3.1
  • Python 2.7

3 个答案:

答案 0 :(得分:4)

我遇到了同样的问题,我在回答其他问题后解决了这个问题:

What is python's equivalent of useAutomationExtension for selenium?

对我来说,这个答案的必要部分是设置chromeOptions功能' useAutomationExtension'为假。我的代码如下:

from selenium import webdriver
capabilities = { 'chromeOptions':  { 'useAutomationExtension': False}}
driver = webdriver.Chrome(desired_capabilities = capabilities)
driver.get('https://www.python.org/')

我不确定" - 禁用扩展程序"你添加as参数仍然是必要的,但我认为你可以通过改变上面代码中的功能来保持它,例如:

capabilities = { 'chromeOptions':  { 'useAutomationExtension': False,
                                     'args': ['--disable-extensions'] }
               }

两者都适合我,我不再收到错误。我的设置有点不同(Chrome v63,ChromeDriver 2.35,Selenium 3.9和Python 2.7),但我希望它能为您提供帮助。

答案 1 :(得分:0)

以下是您的问题的解决方案:

添加以下ChromeOptions以克服错误:

ChromeOptions options = new ChromeOptions(); 
options.addArguments("test-type"); 
options.addArguments("start-maximized"); 
options.addArguments("--js-flags=--expose-gc"); 
options.addArguments("--enable-precise-memory-info"); 
options.addArguments("--disable-popup-blocking"); 
options.addArguments("--disable-default-apps"); 
options.addArguments("test-type=browser"); 
options.addArguments("disable-infobars"); 
WebDriver driver = new ChromeDriver(options);`

道歉,因为代码是用Java编写的,你必须将其转换为Python格式。

如果这有助于您,请告诉我。

答案 2 :(得分:0)

我遇到了与上述相同的问题。引用以下链接,使用“ .add_experimental_option('useAutomationExtension',False)”对我有用。

What is python's equivalent of useAutomationExtension for selenium?

示例代码:

options = webdriver.ChromeOptions()
options.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome(options=options, executable_path=driverPath)