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

如何在Node.js中配置并使用undetected-chromedriver?

Node.js中使用undetected-chromedriver的正确方式

你直接用Python版的undetected-chromedriver.exe行不通——这个exe是和Python库绑定做了特定反检测适配的,Node.js环境下没法兼容。正确做法是用Node.js生态专属的适配包,步骤如下:

1. 安装依赖

先装Node.js版的undetected-chromedriver和依赖的selenium-webdriver:

npm install undetected-chromedriver selenium-webdriver

2. 编写正确代码

替换你原来的代码,用Node.js版包的初始化逻辑:

const { Builder } = require('selenium-webdriver');
const uc = require('undetected-chromedriver');

async function main() {
    // 配置Chrome选项
    const chromeOptions = new uc.ChromeOptions();
    // 指定Chrome二进制路径(可选,系统默认路径能找到的话可以省略)
    chromeOptions.setChromeBinaryPath('C:/Program Files/Google/Chrome/Application/chrome.exe');
    // 开启无头模式(可选,Chrome 112+用--headless=new,旧版本用--headless)
    // chromeOptions.addArguments('--headless=new');

    // 创建驱动实例
    const driver = await new Builder()
        .forBrowser('chrome')
        .setChromeService(uc.defaultService) // 用undetected-chromedriver的专属服务
        .setChromeOptions(chromeOptions)
        .build();

    try {
        // 示例:访问页面并打印标题
        await driver.get('https://example.com');
        console.log('页面标题:', await driver.getTitle());
        // 这里添加你的业务逻辑
    } catch (err) {
        console.error('运行出错:', err);
    } finally {
        // 关闭驱动
        await driver.quit();
    }
}

// 执行主函数
main();

关键说明

  • Node.js版的undetected-chromedriver会自动下载和你Chrome版本匹配的驱动文件,不用手动放exe,避免版本不兼容问题。
  • 如果非要手动指定驱动路径,可以修改uc.defaultService的路径,但必须是对应Node.js环境的chromedriver版本,不能用Python版的exe。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 09:27:27