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

Chrome 107.x版本下Node.js+Selenium进程异常无法终止问题求助

排查Chrome 107.x + Selenium WebDriver 异步执行异常问题

首先你提供的测试代码存在明显语法错误:console.log("HELLO);缺失闭合引号,先修正这个基础问题,避免因代码解析失败引发异常。

针对升级后出现的异步代码执行紊乱、进程挂起无报错问题,从以下方向逐一排查:

1. 版本兼容性校验

  • 确保Chrome浏览器与ChromeDriver的版本完全匹配(比如Chrome 107.0.5304.87需对应ChromeDriver 107.0.5304.62,小版本尽量对齐)
  • Selenium WebDriver 4.5.0对Chrome 107的适配存在已知问题,建议升级到Selenium 4.6.0及以上版本(该版本开始内置ChromeDriver自动管理功能,可自动匹配浏览器版本,减少兼容性冲突)

2. 完善异步代码的错误捕获

进程挂起大概率是某个await操作抛出异常但未被捕获,导致Promise一直处于pending状态。修改代码添加错误捕获逻辑:

it("Test code", async function(){
  try {
    console.log("START");
    await driver.sleep(3000);
    console.log("HELLO"); // 修正引号缺失问题
    // 确保XPath变量正确定义为By.xpath格式,而非纯字符串
    const targetElement = await driver.findElement(By.xpath("你的XPath表达式"));
    await targetElement.sendKeys("TEXT");
    console.log("STOP");
  } catch (err) {
    console.error("测试执行异常:", err);
    throw err; // 抛出异常让Mocha捕获,避免进程无响应挂起
  }
})

注意:findElement的参数必须是By.xpath("具体路径")格式,直接传入字符串会导致静默失败。

3. 修正Mocha超时配置

Mocha默认异步测试超时为2000ms,driver.sleep(3000)已经超出默认限制,若超时设置无效,可在测试块内直接指定:

it("Test code", async function(){
  this.timeout(10000); // 设置超时为10秒
  // 测试代码...
})

或在Mocha启动命令中添加参数:mocha file1.js --timeout 10000

4. 优化ChromeDriver启动参数

升级Chrome后,部分默认启动参数可能导致驱动无响应,尝试添加以下参数:

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

const chromeOptions = new chrome.Options();
chromeOptions.addArguments('--no-sandbox');
chromeOptions.addArguments('--disable-dev-shm-usage');
chromeOptions.addArguments('--disable-gpu'); // 适配无头模式或Linux环境
chromeOptions.addArguments('--remote-debugging-port=9222'); // 启用远程调试,便于排查驱动状态

const driver = new Builder()
  .forBrowser('chrome')
  .setChromeOptions(chromeOptions)
  .build();

5. 检查selenium-standalone服务状态

若使用selenium-standalone管理驱动,确保服务启动正常且无版本冲突。可尝试停止selenium-standalone服务,直接使用ChromeDriver驱动(Selenium 4+支持直接调用驱动,无需启动独立服务)。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 10:01:25