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

如何在Protractor中指定ChromeDriver版本下载解决版本不兼容问题

解决Protractor中ChromeDriver版本不匹配问题

问题场景

当前Chrome浏览器版本为109.0.5414.119,但Protractor自动下载的ChromeDriver版本为100.0.4896.60,导致版本不兼容报错:

session not created: This version of ChromeDriver only supports Chrome version 100
Current browser version is 109.0.5414.119 with binary path /usr/bin/google-chrome

解决方法

方法1:通过webdriver-manager命令行指定版本下载

直接执行以下命令,下载与Chrome109匹配的ChromeDriver版本(对应版本号为109.0.5414.74):

webdriver-manager update --versions.chrome 109.0.5414.74

执行完成后重新运行Protractor测试即可。

方法2:在Protractor配置文件中指定版本

修改你的Protractor配置文件,通过以下两种方式指定对应版本的ChromeDriver:

方式A:直接指定已下载的ChromeDriver路径

如果已通过命令行或手动下载好对应版本的ChromeDriver,在配置文件中添加路径参数:

exports.config = {
  allScriptsTimeout: 11000,
  specs: [
    './src/**/*.e2e-spec.ts'
  ],
  capabilities: {
    'browserName': 'chrome',
    chromeOptions: {
      args: ["--headless", "--disable-gpu", "--window-size=800x600", "--no-sandbox", "--disable-dev-shm-usage", "--disable-extensions"]
    }
  },
  directConnect: true,
  chromeDriver: './node_modules/webdriver-manager/selenium/chromedriver_109.0.5414.74', // 添加此行指定路径
  baseUrl: 'http://localhost:4200/',
  framework: 'jasmine',
  jasmineNodeOpts: {
    showColors: true,
    defaultTimeoutInterval: 30000,
    print: function() {}
  },
  onPrepare() {
    require('ts-node').register({
      project: require('path').join(__dirname, './tsconfig.e2e.json')
    });
    jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
  }
};

方式B:配置自动下载指定版本

在配置文件中添加webdriverVersions字段,指定ChromeDriver版本:

exports.config = {
  allScriptsTimeout: 11000,
  specs: [
    './src/**/*.e2e-spec.ts'
  ],
  capabilities: {
    'browserName': 'chrome',
    chromeOptions: {
      args: ["--headless", "--disable-gpu", "--window-size=800x600", "--no-sandbox", "--disable-dev-shm-usage", "--disable-extensions"]
    }
  },
  directConnect: true,
  webdriverVersions: { chrome: '109.0.5414.74' }, // 添加此行指定版本
  baseUrl: 'http://localhost:4200/',
  framework: 'jasmine',
  jasmineNodeOpts: {
    showColors: true,
    defaultTimeoutInterval: 30000,
    print: function() {}
  },
  onPrepare() {
    require('ts-node').register({
      project: require('path').join(__dirname, './tsconfig.e2e.json')
    });
    jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
  }
};

运行Protractor时,webdriver-manager会自动下载指定版本的ChromeDriver。

方法3:通过环境变量指定版本

在运行Protractor前,设置环境变量指定ChromeDriver版本:

export CHROMEDRIVER_VERSION=109.0.5414.74

之后执行Protractor测试命令,webdriver-manager会根据该环境变量下载对应版本的驱动。

内容的提问来源于stack exchange,提问作者Thi Hien Pham

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 21:50:39