尝试使用量角器启动Chrome时出现错误

时间:2019-03-28 05:41:01

标签: protractor webdriver

我正在尝试通过量角器启动浏览器。我通过提供webdriver-manager update命令通过终端下载了webdriver。这是下载最新的chromedriver v74,但chrome浏览器是v73。

如何显式设置WebDriver版本?

我遇到以下错误:

[11:09:13] E/driverProvider - Error code: 135
[11:09:13] E/driverProvider - Error message: session not created: This version of ChromeDriver only supports Chrome version 74
[11:09:13] E/driverProvider - Error: session not created: This version of ChromeDriver only supports Chrome version 74
  (Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Mac OS X 10.14.2 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 1.70 seconds
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'Acsahs-MBP', ip: 'fe80:0:0:0:45:3f89:2e8b:ab96%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.14.2', java.version: '1.8.0_191'
Driver info: driver.version: unknown
    at Local.<anonymous> (/usr/local/lib/node_modules/protractor/built/driverProviders/driverProvider.js:69:23)
    at Generator.throw (<anonymous>)
    at rejected (/usr/local/lib/node_modules/protractor/built/driverProviders/driverProvider.js:5:65)
    at processTicksAndRejections (internal/process/next_tick.js:81:5)
[11:09:13] E/launcher - Process exited with error code 135

我的配置文件:

exports.config = {
    seleniumaddress:'http://localhost:4444/wd/hub',
    specs:['spec.js']
};

3 个答案:

答案 0 :(得分:1)

解决了吗?如果没有,那就试试这个。

在我的小型selenium-webdriver测试中,我在网上和此处进行了研究之后,执行了以下步骤:

  1. npm install selenium-webdriver
  2. npm install chromedriver
  3. npm install geckodriver并打开文件library.js和npm init并运行node library.js (下面的源代码)
  4. Error: (node:14212) UnhandledPromiseRejectionWarning: NoSuchSessionError: invalid session id一些长错误与chromedriver版本不同有关。所以我在浏览器中手动检查了chrome浏览器的版本。是version 73,我的错误是我下载了chromedriver version 74.0
  5. 因此请根据您的操作系统转到https://chromedriver.storage.googleapis.com/index.html?path=73.0.3683.68/下载并在~/Downloads中下载。
  6. 然后在terminal文件夹中打开~/Downloads
  7. 然后USER@DESKTOP:~/Downloads$ unzip ~/Downloads/chromedriver_linux64.zip -d ~/Downloads,您将在chromedriver文件夹中获得原始~/Downloads文件。
  8. 现在我将ChromeDriver 73.0.3683.68文件移动到了系统中的两个位置-usr/local/binusr/bin
  9. chromedriver中已经有一个usr/local/bin文件。
  10. 移动文件-USER@DESKTOP:~/Downloads$ sudo mv -f ~/Downloads/chromedriver /usr/local/bin/chromedriverUSER@DESKTOP:~/Downloads$ sudo mv -f ~/Downloads/chromedriver /usr/bin/chromedriver表示要将文件chromedriver从第一个位置移动到其他位置,这意味着用相同的名称替换这些位置中已经存在的所有文件。 / p>

  11. 最后我所做的只是。关闭vscode并重新启动它。并运行我的代码node library.js。它为我使用了chrome浏览器。 花了我一些时间才能遍历35-40堆栈溢出和随机的在线资源/问题答案,但值得。 :)

源代码:LIBRARY.JS

var webdriver = require('selenium-webdriver');

var By = webdriver.By;

var until = webdriver.until;

var driver = new webdriver.Builder().forBrowser('chrome').build();

driver.get('https://www.google.com');

答案 1 :(得分:1)

将此作为脚本添加到package.json文件

"scripts": { "protactorInstall": "cd ./node_modules/protractor && npm i webdriver-manager@latest"}

使用

npm run protactorInstall

执行脚本。

答案 2 :(得分:0)

从终端尝试以下命令以安装特定版本

webdriver-manager update --versions.chrome 2.46

希望它对您有帮助