首页 > 解决方案 > WebDriverException:消息:未知错误:无法通过 Python 使用 Selenium ChromeDriver 和 Chrome 从未知错误中获取自动化扩展

问题描述

很简单。在 Mac 上,在 python 中使用 chromedriver。这是代码:

from selenium import webdriver
EXE_PATH = r'chromedriver'
driver = webdriver.Chrome(executable_path=EXE_PATH)
driver.set_window_size(1024, 768)
driver.get('file:///index.html')

但它总是在线崩溃:

driver.set_window_size(1024, 768)

它给出的错误:

selenium.common.exceptions.WebDriverException: Message: unknown error: 
cannot get automation extension
from unknown error: page could not be found: chrome-extension://aapnijgdinlhnhlmodcfapnahmbfebeb/_generated_background_page.html
  (Session info: chrome=75.0.3770.80)
  (Driver info: chromedriver=2.29.461585 (0be2cd95f834e9ee7c46bcc7cf405b483f5ae83b),platform=Mac OS X 10.13.6 x86_64)

如您所见,我的 chrome 版本是 75.0.3770.80,我的 chromedriver 版本是 2.29.461585。我相信这些版本应该一起工作。这是版本不匹配问题还是其他问题?

标签: pythonmacosseleniumgoogle-chromeselenium-chromedriver

解决方案


此错误消息...

selenium.common.exceptions.WebDriverException: Message: unknown error: 
cannot get automation extension
from unknown error: page could not be found: chrome-extension://aapnijgdinlhnhlmodcfapnahmbfebeb/_generated_background_page.html

...意味着ChromeDriver无法启动/生成新的WebBrowser ,即Chrome 浏览器会话。

您的主要问题是您使用的二进制文件版本之间的不兼容,如下所示:

  • 您正在使用chromedriver=2.29
  • chromedriver=2.29的发行说明清楚地提到了以下内容:

支持Chrome v56-58

  • 您正在使用chrome=75.0
  • ChromeDriver v75.0的发行说明清楚地提到了以下内容:

支持Chrome v75

因此ChromeDriver v2.29Chrome 浏览器 v75.0之间存在明显的不匹配


解决方案

  • 将ChromeDriver升级到ChromeDriver v2.75级别。
  • 将Chrome版本保持在Chrome v75级别。(根据 ChromeDriver v2.75 发行说明
  • 通过IDE清理项目工作区并仅使用所需的依赖项重建项目。
  • 如果您的基本Web 客户端版本太旧,请卸载它并安装最新的 GA 和已发布版本的Web 客户端

推荐阅读