Ubuntu VPS/Replit中Selenium Chrome启动失败问题求助
解决Chrome Headless模式启动失败(DevToolsActivePort不存在)问题
针对你在Hostinger Ubuntu VPS和Replit环境中遇到的Chrome启动失败问题,以下是直接有效的修复方案:
修复步骤
更新Headless模式参数
新版Chrome(112+)的--headless属于旧模式,改用--headless=new可规避端口兼容性问题,同时显式指定调试端口:options.add_argument('--headless=new') options.add_argument('--remote-debugging-port=9222')确认Chrome二进制文件路径
部分Ubuntu系统中Chrome的二进制文件名为google-chrome-stable而非google-chrome,执行命令确认实际路径:which google-chrome-stable再将
options.binary_location修改为对应路径。添加稳定性参数
补充以下参数减少启动冲突:options.add_argument('--disable-extensions') options.add_argument('--disable-plugins') options.add_argument('--window-size=1920,1080') options.add_argument('--single-process')验证版本兼容性
手动确认Chrome和ChromeDriver版本完全匹配:chromedriver --version google-chrome --version确保两者主版本、小版本号完全一致(如均为125.0.6422.141)。
修改后的完整代码示例
from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.chrome.service import Service options = Options() options.add_argument('--no-sandbox') options.add_argument('--headless=new') # 启用新版headless模式 options.add_argument('--remote-debugging-port=9222') # 显式指定调试端口 options.add_argument('--disable-dev-shm-usage') options.add_argument('--disable-gpu') options.add_argument('--disable-extensions') options.add_argument('--disable-plugins') options.add_argument('--window-size=1920,1080') options.ignore_local_proxy_environment_variables() # 根据实际路径调整 options.binary_location = '/usr/bin/google-chrome-stable' chrome_service = Service('/usr/bin/chromedriver') driver = webdriver.Chrome(service=chrome_service, options=options) try: driver.get('https://www.google.com') print("Successfully opened Google in headless mode.") finally: driver.quit()
错误原因说明
DevToolsActivePort file doesn't exist错误通常源于:
- 旧版headless模式无法正确初始化调试端口
- Chrome二进制文件路径错误导致进程直接退出
- 缺少必要启动参数引发进程崩溃
内容的提问来源于stack exchange,提问作者Dean Pol
相关产品推荐
相关产品推荐

