如何启动已启用指定扩展程序的ChromeDriver浏览器
解决ChromeDriver启动时默认启用扩展的问题
嘿,我懂你现在的困扰——用ChromeDriver加载CRX扩展后,它居然默认处于禁用状态,这确实挺影响使用的。别担心,我有两个靠谱的方法能帮你搞定这个事儿:
方法一:通过扩展ID在偏好设置中强制启用
首先得先拿到目标扩展的ID,步骤超简单:
- 手动把你的
extension_3_19_6_0.crx安装到Chrome浏览器里 - 打开
chrome://extensions/页面,开启右上角的「开发者模式」,就能看到一串随机字符的扩展ID了
拿到ID后,就可以在ChromeOptions里设置偏好,强制让这个扩展启动时就处于启用状态:
from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() # 加载CRX扩展文件(注意Windows路径用原始字符串避免转义问题) chrome_options.add_extension(r'C:\Python\extension_3_19_6_0.crx') # 设置偏好,启用指定ID的扩展(把EXTENSION_ID替换成你拿到的真实ID) chrome_options.add_experimental_option('prefs', { 'extensions.settings': { 'EXTENSION_ID': { 'state': 1 # 1代表启用,0代表禁用 } } }) # 初始化驱动(新版本Selenium用options参数更规范) driver = webdriver.Chrome(options=chrome_options) driver.get("http://stackoverflow.com")
方法二:直接加载扩展的解压文件夹
如果你的CRX文件可以解压(把后缀改成.zip后解压就行),直接加载解压后的文件夹往往更稳定,而且默认就是启用状态:
from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() # 加载解压后的扩展文件夹路径 chrome_options.add_argument(r'--load-extension=C:\Python\unpacked_extension') driver = webdriver.Chrome(options=chrome_options) driver.get("http://stackoverflow.com")
小提醒
- Windows系统下的路径记得用原始字符串(前面加
r)或者双反斜杠\\,避免转义出错 - 如果你用的是较新版本的Selenium,建议把旧写法
chrome_options=chrome_options换成options=chrome_options,更符合官方规范
内容的提问来源于stack exchange,提问作者M.Naveed
相关产品推荐
相关产品推荐

