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

Selenium Chrome报错DevToolsActivePort不存在及chrome not reachable求助

Selenium Chrome 启动报错问题解决

问题描述

编写网站测试脚本时,原本运行正常,后续出现报错:DevToolsActivePort file doesn't exist。添加参数options.add_argument("--remote-debugging-port=9222")尝试修复后,又出现新报错:chrome not reachable,多种方案尝试后未解决。

代码示例

from selenium import webdriver

# options
options = webdriver.ChromeOptions()
options.add_argument("--no-sandbox")
options.add_argument("user-agent=Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0")
options.add_argument("--disable-blink-features=AutomationControlled")
options.add_argument("--remote-debugging-port=9222")
options.headless = True

driver = webdriver.Chrome(
    executable_path="/home/adfs_bot/chromedriver",
    options=options
)
driver.get('https://google.com/')

报错信息

Traceback (most recent call last):
  File "my_script1.py", line 22, in <module>
    options=options
  File "/home/<usr>/my_script/venvADFSBot/lib64/python3.6/site-packages/selenium/webdriver/chrome/webdriver.py", line 81, in __init__
    desired_capabilities=desired_capabilities)
  File "/home/<usr>/my_script/venvADFSBot/lib64/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "/home/<usr>/my_script/venvADFSBot/lib64/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/home/<usr>/my_script/venvADFSBot/lib64/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/home/<usr>/my_script/venvADFSBot/lib64/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: crashed.
  (unknown error: DevToolsActivePort file doesn't exist)
  (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)


Traceback (most recent call last):
  File "my_script1.py", line 22, in <module>
    options=options
  File "/home/<usr>/my_script/venvADFSBot/lib64/python3.6/site-packages/selenium/webdriver/chrome/webdriver.py", line 81, in __init__
    desired_capabilities=desired_capabilities)
  File "/home/<usr>/my_script/venvADFSBot/lib64/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "/home/<usr>/my_script/venvADFSBot/lib64/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/home/<usr>/my_script/venvADFSBot/lib64/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/home/<usr>/my_script/venvADFSBot/lib64/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: crashed.
  (chrome not reachable)
  (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)

环境信息

  • Google Chrome版本:106.0.5249.119
  • ChromeDriver版本:106.0.5249.61
  • 操作系统:CentOS 8 (RedHat)

解决方案

1. 严格匹配Chrome与ChromeDriver版本

当前Chrome版本为106.0.5249.119,ChromeDriver为106.0.5249.61,小版本号不一致会导致兼容性问题。下载对应Chrome版本的ChromeDriver(106.0.5249.119)替换现有文件,确保版本完全对齐。

2. 优化Chrome启动参数

修改参数列表,解决端口冲突、资源不足等问题:

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")  # 解决CentOS /dev/shm空间不足问题
options.add_argument("user-agent=Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0")
options.add_argument("--disable-blink-features=AutomationControlled")
options.add_argument("--remote-debugging-port=0")  # 自动分配可用端口,避免冲突
options.add_argument("--window-size=1920,1080")  # 无头模式下指定窗口大小,保证渲染正常
options.binary_location = "/usr/bin/google-chrome"  # 明确指定Chrome二进制路径
options.headless = True

driver = webdriver.Chrome(
    executable_path="/home/adfs_bot/chromedriver",
    options=options
)
driver.get('https://google.com/')

3. 修复权限与清理残留进程

  • 给ChromeDriver添加执行权限:
    chmod +x /home/adfs_bot/chromedriver
    
  • 清理残留的Chrome/ChromeDriver进程:
    pkill -f chrome
    pkill -f chromedriver
    
    执行完后重新运行脚本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 18:41:06