如何在Python的Selenium WebDriver中使用Chrome用户配置(更新版)
解决Selenium WebDriver中使用Chrome用户配置的最新方法(修复DevToolsActivePort错误)
你遇到的DevToolsActivePort file doesn't exist错误,本质是Chrome启动时的端口冲突或进程占用问题,结合最新的Selenium和Chrome版本,以下是正确的配置方案:
核心修正点与代码实现
先确保所有Chrome窗口(包括后台进程)完全关闭,然后使用以下代码:
from selenium import webdriver from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.chrome.options import Options chrome_options = Options() # 指向Chrome用户数据根目录,路径请根据实际情况调整 chrome_options.add_argument("--user-data-dir=/Users/nifiseoguntoye/Library/Application Support/Google/Chrome") # 指定要使用的目标配置文件 chrome_options.add_argument("--profile-directory=Profile 7") # 添加关键参数解决启动冲突 chrome_options.add_argument("--no-first-run") chrome_options.add_argument("--no-service-autorun") chrome_options.add_argument("--password-store=basic") try: driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=chrome_options) print("ChromeDriver 启动成功。") # 后续可添加你的业务逻辑 except Exception as e: print(f"错误信息: {e}")
参数说明
--no-first-run:跳过Chrome首次启动的初始化向导,避免配置干扰--no-service-autorun:禁用后台自动启动的服务,防止进程冲突--password-store=basic:使用基础密码存储方式,避免与系统密钥链交互导致的启动失败
额外排查步骤
- 确认
Profile 7目录确实存在于--user-data-dir指定的路径下,检查路径拼写是否有误 - 若仍报错,可复制目标配置文件到新目录,修改
--user-data-dir指向新路径,避免原目录被占用 - ChromeDriverManager会自动匹配Chrome版本,无需手动下载驱动,但需确保网络正常
内容的提问来源于stack exchange,提问作者nifise oguntoye
相关产品推荐
相关产品推荐

