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

Ubuntu下非sudo运行Python+Selenium报错,root/sudo正常求助

解决普通用户运行Python+Selenium脚本的权限问题

1. 调整ChromeDriver的安装路径

sudo运行时,webdriver-manager会将ChromeDriver安装在root专属的缓存目录,普通用户无访问权限。修改脚本,指定ChromeDriver安装到普通用户有权限的目录:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

options = Options()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')

# 指定安装到用户本地缓存目录
driver = webdriver.Chrome(
    service=Service(ChromeDriverManager(cache_dir="/home/maicon/.cache/webdriver").install()),
    options=options
)

driver.get("https://python.org")
print(driver.title)
driver.quit()  # 用quit彻底关闭浏览器进程

2. 修复Chrome安装目录的权限

确保普通用户对Chrome的安装目录有执行权限:

sudo chmod -R o+rx /opt/google/chrome

3. 添加额外的Chrome启动参数

通过指定用户数据目录或调试端口,避免权限冲突:

options.add_argument('--user-data-dir=/tmp/chrome-user-data')  # 临时目录,普通用户可读写
options.add_argument('--remote-debugging-port=9222')

4. 检查系统临时目录权限

确保普通用户能读写/tmp目录:

ls -ld /tmp

若输出权限不是drwxrwxrwt,执行以下命令修复:

sudo chmod 1777 /tmp

内容的提问来源于stack exchange,提问作者Maicon Vieira

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 01:27:24