如何用Python3/Selenium启动带插件的默认Chrome浏览器?
解决方法:让Selenium加载Chrome默认用户数据
要让Selenium启动的Chrome带上你的插件、登录凭证,核心是让它复用Chrome的本地用户数据目录——默认情况下Selenium会创建干净的临时目录,所以没有你之前的配置。
步骤1:找到你的Chrome用户数据目录
- Windows:
C:\Users\<你的用户名>\AppData\Local\Google\Chrome\User Data - macOS:
/Users/<你的用户名>/Library/Application Support/Google/Chrome - Linux:
~/.config/google-chrome
步骤2:修改Selenium代码配置ChromeOptions
在初始化webdriver.Chrome()之前添加配置项,指定用户数据目录,修改后的代码如下:
from selenium import webdriver from selenium.webdriver import Keys, ActionChains from selenium.webdriver.common.by import By from selenium.webdriver.chrome.options import Options # 新增导入 import time def perform_login_logout(url, username, password, new_url): # 配置Chrome选项 chrome_options = Options() # 替换成你自己的Chrome用户数据目录路径 chrome_options.add_argument(r"user-data-dir=C:\Users\<你的用户名>\AppData\Local\Google\Chrome\User Data") # 可选:如果有多个用户配置文件,指定具体Profile,比如"Profile 1" # chrome_options.add_argument(r"profile-directory=Default") # 初始化带配置的Chrome Driver driver = webdriver.Chrome(options=chrome_options) # Open the URL to the login page driver.get(url)
注意事项
- 确保Chrome浏览器和ChromeDriver的版本完全匹配,版本不兼容会导致启动失败。
- 运行脚本前请关闭所有正在运行的Chrome窗口,否则会因为用户数据目录被占用而报错。
- 如果不想影响默认浏览器状态,可以复制一份用户数据目录到其他路径,用复制后的路径作为
user-data-dir参数。
内容的提问来源于stack exchange,提问作者Patrick Sasquatch
相关产品推荐
相关产品推荐

