You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome Selenium WebDriver非sudo模式失效问题(Jupyter Notebook环境)

修复Chrome Selenium需sudo才能运行的问题

针对你遇到的必须用sudo才能执行Selenium代码,且Jupyter环境下报错DevToolsActivePort file doesn't exist的问题,以下是具体修复方案:

1. 检查并修复chromedriver权限

普通用户无法执行代码的核心原因大概率是chromedriver或其所在目录权限不足,执行以下命令赋予普通用户执行权限:

chmod +x /my/path/to/chromedriver-103
# 若所在目录权限也有问题,可补充执行
chmod -R 755 /my/path/to/

2. 手动指定Chrome二进制文件路径

部分系统中普通用户无法访问默认的Chrome路径,在你的代码中添加Chrome二进制路径配置:

# 替换为你系统中Chrome的实际路径,比如/usr/bin/google-chrome或用户目录下的Chrome
chrome_options.binary_location = "/usr/bin/google-chrome"

3. 指定可读写的用户数据目录

Chrome运行时需要读写用户数据目录,默认目录可能对普通用户权限受限,手动指定一个你有权限的目录:

# 替换为你的用户目录下的自定义路径,提前创建好该目录
chrome_options.add_argument("--user-data-dir=/home/yerin/.chrome_custom_data")

执行前先创建目录并赋予权限:

mkdir -p /home/yerin/.chrome_custom_data
chmod -R 700 /home/yerin/.chrome_custom_data

4. 调整Jupyter运行权限

如果Jupyter是通过root用户启动的,普通用户执行代码时会出现权限隔离问题,建议用你的普通用户重新启动Jupyter:

# 先停止当前Jupyter进程,再用普通用户启动
jupyter notebook --port=8888

补充说明

DevToolsActivePort报错本质是Chrome无法启动调试端口,通常和权限不足、无法读写配置目录、Chrome二进制文件无法访问有关,按上述步骤逐一排查即可解决。

内容的提问来源于stack exchange,提问作者Yerin Jung

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 13:48:19