Selenium Chrome驱动报错:DevToolsActivePort文件不存在及目录占用问题
解决Selenium Chrome驱动在Windows下的报错问题
核心问题分析
你遇到的两个报错,本质是Windows环境下Chrome驱动与浏览器的进程冲突、路径配置错误,以及默认用户数据目录被占用导致的,同时空白网站地址也会引发Chrome显示data;的情况。
具体修复步骤
1. 修正Chrome驱动路径(Windows环境专属)
你的代码里驱动路径是Mac格式的/Users/lilly/Downloads/chromedriver,Windows下需要改为本地chromedriver.exe的绝对路径,示例:
# 转义反斜杠写法 path = "C:\\Users\\你的用户名\\Downloads\\chromedriver.exe" # 原始字符串写法(更简洁) path = r"C:\Users\你的用户名\Downloads\chromedriver.exe"
2. 添加ChromeOptions参数解决进程冲突
初始化浏览器时,添加以下参数,同时解决DevToolsActivePort和用户目录占用问题:
from selenium import webdriver options = webdriver.ChromeOptions() # 解决DevToolsActivePort文件不存在问题 options.add_argument("--no-sandbox") options.add_argument("--disable-dev-shm-usage") # 禁用GPU加速(部分Windows环境需此配置) options.add_argument("--disable-gpu") # 指定独立的用户数据目录,避免和手动打开的Chrome进程冲突 options.add_argument(r"--user-data-dir=C:\temp\chrome_user_data") # 若不想创建独立目录,可改用无痕模式替代 # options.add_argument("--incognito") website = "https://目标网站地址.com" # 必须填写实际网址,空字符串会显示data; path = r"C:\Users\你的用户名\Downloads\chromedriver.exe" driver = webdriver.Chrome(executable_path=path, options=options) driver.get(website) # 后续爬虫操作... driver.quit()
3. 关键注意事项
- 填充有效网站地址:代码中
website = ""会导致Chrome加载空白的data;页面,这是正常逻辑,需替换为你要爬取的目标网址。 - 严格匹配版本:Chrome浏览器版本为104.0.5112.81,需下载同版本的Windows驱动(而非104.0.5112.79),微小版本差异也可能引发兼容性问题。
- 清理Chrome后台进程:若未指定独立用户目录或无痕模式,运行代码前需通过任务管理器结束所有
chrome.exe进程,避免目录占用报错。
额外排查建议
若以上步骤无效,可尝试:
- 以管理员身份运行Python脚本,规避权限限制。
- 检查防火墙或杀毒软件是否拦截了
chromedriver进程。 - 重新下载对应版本的Windows版Chrome驱动,确保未误下载Mac/Linux版本。
内容的提问来源于stack exchange,提问作者Lilly
相关产品推荐
相关产品推荐

