如何配置Chrome Options让Selenium调用本地默认Chrome并保留Cookie?
你遇到的问题是因为直接指定Default用户目录时,若Chrome浏览器正在运行,会锁定该目录,导致Selenium无法加载原有Cookie和配置,只能启动干净的新实例。以下是两种可行的配置方案:
方案一:复制专用用户数据目录
- 关闭所有Chrome窗口
- 复制
/Users/mac/Library/Application Support/Google/Chrome/Default目录到新路径,比如/Users/mac/Library/Application Support/Google/Chrome/SeleniumProfile - 修改代码中的
user-data-dir参数指向新路径:
from selenium import webdriver option = webdriver.ChromeOptions() # 使用复制后的专用目录 option.add_argument(r'--user-data-dir=/Users/mac/Library/Application Support/Google/Chrome/SeleniumProfile') driver = webdriver.Chrome(options=option, executable_path="/usr/local/bin/chromedriver") driver.get("https://twitter.com/")
方案二:指定用户数据父目录+默认配置文件
直接使用Chrome用户数据的父目录,通过--profile-directory参数指定默认配置文件,无需复制目录:
from selenium import webdriver option = webdriver.ChromeOptions() # 用户数据父目录,不要直接指向Default option.add_argument(r'--user-data-dir=/Users/mac/Library/Application Support/Google/Chrome') # 指定使用Default配置文件 option.add_argument('--profile-directory=Default') driver = webdriver.Chrome(options=option, executable_path="/usr/local/bin/chromedriver") driver.get("https://twitter.com/")
注意事项
- 启动Selenium前必须关闭所有正在运行的Chrome进程,否则会出现目录锁定问题
- 确认路径中的用户名(
mac)与你的系统用户名一致,避免路径错误
内容的提问来源于stack exchange,提问作者SylorHuang
相关产品推荐
相关产品推荐

