我正在尝试通过量角器启动浏览器。我通过提供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']
};
答案 0 :(得分:1)
解决了吗?如果没有,那就试试这个。
在我的小型selenium-webdriver
测试中,我在网上和此处进行了研究之后,执行了以下步骤:
npm install selenium-webdriver
npm install chromedriver
npm install geckodriver
并打开文件library.js和npm init
并运行node library.js
(下面的源代码) Error:
(node:14212) UnhandledPromiseRejectionWarning: NoSuchSessionError: invalid session id
一些长错误与chromedriver版本不同有关。所以我在浏览器中手动检查了chrome浏览器的版本。是version 73
,我的错误是我下载了chromedriver version 74.0
。https://chromedriver.storage.googleapis.com/index.html?path=73.0.3683.68/
下载并在~/Downloads
中下载。terminal
文件夹中打开~/Downloads
。USER@DESKTOP:~/Downloads$ unzip ~/Downloads/chromedriver_linux64.zip -d ~/Downloads
,您将在chromedriver
文件夹中获得原始~/Downloads
文件。ChromeDriver 73.0.3683.68
文件移动到了系统中的两个位置-usr/local/bin
和usr/bin
。 chromedriver
中已经有一个usr/local/bin
文件。移动文件-USER@DESKTOP:~/Downloads$ sudo mv -f ~/Downloads/chromedriver /usr/local/bin/chromedriver
和USER@DESKTOP:~/Downloads$ sudo mv -f ~/Downloads/chromedriver /usr/bin/chromedriver
表示要将文件chromedriver从第一个位置移动到其他位置,这意味着用相同的名称替换这些位置中已经存在的所有文件。 / p>
最后我所做的只是。关闭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
希望它对您有帮助