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

GCP Linux服务器运行Selenium脚本报错:Chrome无法访问及DevToolsActivePort缺失

Linux下Selenium Chrome驱动报错及系统卡顿问题解决

一、"chrome not reachable"和"DevToolsActivePort file doesn't exist"报错修复

以下是针对性的排查和修复步骤:

  • 指定Chrome二进制文件路径:Linux环境中Chrome的安装路径和Windows不同,手动指定路径避免驱动找不到执行文件,示例代码:
    co.binary_location = "/usr/bin/google-chrome"  # 实际路径可通过`which google-chrome`命令查询
    
  • 优化headless模式参数:在现有参数基础上添加--remote-debugging-port=9222,同时移除driver.maximize_window()(headless模式下该操作无意义,反而可能引发异常)
  • 核对Chrome与chromedriver版本:两者版本必须完全匹配,执行以下命令确认版本:
    google-chrome --version
    chromedriver --version
    
    版本不匹配时,直接下载对应版本的chromedriver替换现有文件。
  • 清理残留驱动进程:先手动杀掉所有Chrome相关进程,再重新运行脚本:
    pkill -f chrome
    pkill -f chromedriver
    
  • 指定自定义临时目录:若系统默认临时目录权限不足,可指定Chrome使用的临时目录:
    co.add_argument("--user-data-dir=/tmp/chrome_user_data")
    co.add_argument("--disk-cache-dir=/tmp/chrome_cache")
    

二、系统卡顿与后台进程的关系

  • 没错,如果脚本报错且未执行driver.quit(),chromedriver和Chrome进程会残留在后台,大量堆积后会占用大量CPU、内存资源,这就是你终端响应慢、系统卡顿的直接原因。
  • 解决办法:
    • 用try/finally块保证驱动必被关闭,示例代码:
      global driver
      co = Options() 
      # 你的参数配置...
      try:
          driver = webdriver.Chrome('chromedriver', options=co)
          driver.get('https://tradingview.com/')
          # 其他业务逻辑
      finally:
          if 'driver' in locals():
              driver.quit()
      
    • 脚本运行前先执行清理命令,避免残留进程堆积。

内容的提问来源于stack exchange,提问作者Marc Henry Saad

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 17:18:24