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

Selenium报DevToolsActivePort文件不存在错误的原因及解决方法

问题:Selenium启动Chrome时出现DevToolsActivePort file doesn't exist错误

启动ChromeDriver时遇到错误:(unknown error: DevToolsActivePort file doesn't exist),提示从路径c:\Users\aaron\Downloads\webscraper\chromedriver.exe启动的进程已停止,ChromeDriver判定Chrome已崩溃。

用户的代码如下:

const {Builder} = require('selenium-webdriver');
const chrome = require('selenium-webdriver/chrome');

(async function openChromeTest() {
    try {
    let options = new chrome.Options().setChromeBinaryPath(`${__dirname}\\chromedriver.exe`).addArguments("--disable-dev-shm-usage", "--no-sandbox", "--headless");
    let driver = await new Builder()less"
                .setChromeOptions(options)
                .forBrowser('chrome')
                .build();
    await driver.get('https://www.google.com');
    await driver.quit();
    } catch (error) {
    console.log(error)
    }
})();

用户已添加--disable-dev-shm-usage、--no-sandbox、--headless参数,但问题仍未解决,寻求修复方案。


修复方案
  • 修正setChromeBinaryPath的参数:这个方法的作用是指定Chrome浏览器的二进制文件路径(即chrome.exe的路径),而非ChromeDriver的路径。你错误地将chromedriver.exe的路径传给了它,导致ChromeDriver无法正确启动浏览器。如果Chrome是默认安装,可直接删除这个方法;如果是自定义路径,替换为Chrome的实际路径,比如:

    .setChromeBinaryPath("C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe")
    
  • 修复代码语法错误:原代码中new Builder()后面多了一段无效的less"字符,这会直接导致代码执行异常,必须删除这部分内容。

  • 补充调试端口参数:在启动参数中添加--remote-debugging-port=9222,明确指定DevTools的调试端口,避免端口冲突或无法获取端口的问题;同时在headless模式下建议加上--disable-gpu,适配更多环境。

修正后的完整代码

const {Builder} = require('selenium-webdriver');
const chrome = require('selenium-webdriver/chrome');

(async function openChromeTest() {
    try {
        // 如果Chrome是默认安装,可直接去掉setChromeBinaryPath这一行
        let options = new chrome.Options()
            // .setChromeBinaryPath("C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe")
            .addArguments("--disable-dev-shm-usage", "--no-sandbox", "--headless", "--disable-gpu", "--remote-debugging-port=9222");
        let driver = await new Builder()
            .setChromeOptions(options)
            .forBrowser('chrome')
            .build();
        await driver.get('https://www.google.com');
        await driver.quit();
    } catch (error) {
        console.log(error)
    }
})();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 05:24:32