You need to enable JavaScript to run this app. Selenium/Python/Chrome报错无法读写selenium目录如何解决?
优惠活动
大模型
产品
解决方案
定价
更多

Selenium/Python/Chrome报错无法读写selenium目录如何解决?

问题根因

提示的读写权限告警由你配置的user-data-dir=selenium参数触发:

  • 你使用了相对路径指定Chrome用户数据目录,脚本运行时解析到的实际路径对应的文件夹,被杀毒软件、之前未正常退出的Chrome/ChromeDriver进程锁定,或是当前运行用户对该目录没有读写权限
  • 其他设备运行正常是因为对应设备的运行用户对脚本工作目录下的selenium文件夹有完整读写权限,无进程占用锁定
  • 点击取消后仍能正常运行,是因为Chrome检测到指定用户目录不可用后,会自动生成临时匿名配置文件启动,所以功能不受影响,但每次启动都会触发权限校验弹窗
修复方案
  • 方案1:替换为绝对路径指定用户数据目录
    避免相对路径解析错误,指定一个当前用户肯定有权限的目录,代码修改示例:

    import os
    from selenium import webdriver
    from webdriver_manager.chrome import ChromeDriverManager
    ...
            options = webdriver.ChromeOptions()
            # 写法1:直接将相对路径转为绝对路径
            options.add_argument(f"user-data-dir={os.path.abspath('./selenium')}")
            # 写法2:直接指定固定的有权限的绝对路径,比如当前用户目录下的文件夹
            # options.add_argument(r"user-data-dir=C:\Users\你的用户名\selenium_chrome_profile")
            options.add_argument("--remote-debugging-port=9222")
            # 额外添加两个参数规避沙箱权限校验
            options.add_argument("--no-sandbox")
            options.add_argument("--disable-dev-shm-usage")
    
            driver = webdriver.Chrome(ChromeDriverManager().install(), options=options)
            
            try:
                driver.get(url) 
                ...
    
  • 方案2:启动前清理残留进程
    在初始化driver前杀掉所有残留的Chrome、ChromeDriver进程,解除目录占用:

    # 仅Windows环境可用
    import os
    os.system('taskkill /f /im chrome.exe /t 2>nul')
    os.system('taskkill /f /im chromedriver.exe /t 2>nul')
    
  • 方案3:手动配置目录权限
    找到脚本当前运行目录下的selenium文件夹,右键选择「属性」-「安全」,给当前登录的Windows用户添加「完全控制」权限,保存后重新运行脚本即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 22:27:02