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

NodeJS Selenium 如何为webdriver设置相对路径?

Node.js Selenium ChromeDriver相对路径配置方案

方案1:手动指定本地ChromeDriver二进制路径

你可以将对应版本的ChromeDriver二进制文件存放在项目目录内,比如项目根目录下的driver文件夹中,再通过代码指定路径,无需配置系统环境变量:

  1. 引入Node.js内置path模块处理路径,避免不同系统路径分隔符兼容问题
  2. 使用selenium-webdriver的Chrome服务构建类指定驱动路径
    示例代码如下:
const path = require('path');
const { Builder } = require('selenium-webdriver');
const chrome = require('selenium-webdriver/chrome');

// 拼接相对路径,__dirname为当前脚本所在目录,按需调整后面的相对路径
// Windows系统驱动文件名为chromedriver.exe,路径对应改为./driver/chromedriver.exe
const driverPath = path.join(__dirname, './driver/chromedriver');

// 注册自定义路径的ChromeDriver服务
const service = new chrome.ServiceBuilder(driverPath).build();
chrome.setDefaultService(service);

// 后续正常初始化浏览器实例即可
const driver = new Builder()
  .forBrowser('chrome')
  .build();

方案2:使用npm chromedriver包(更适合多设备运行场景)

通过安装官方维护的chromedrivernpm包,会自动匹配当前设备的Chrome版本下载对应驱动,无需手动下载文件和配置路径,跨设备运行更省心:

  • 首先安装依赖:
    npm install chromedriver selenium-webdriver
  • 代码示例:
// 引入后selenium会自动识别驱动路径,无需额外配置
require('chromedriver');
const { Builder } = require('selenium-webdriver');

const driver = new Builder()
  .forBrowser('chrome')
  .build();
  • 补充说明:如果采用手动存二进制文件的方案,需要为Windows、Mac、Linux三类系统准备对应版本的驱动文件,代码中可以通过process.platform判断当前系统类型,自动切换对应驱动的路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 22:45:04