selenium - 如何在 Protractor 项目中设置 chromeDriver 位置
问题描述
在我的量角器项目中,执行npm test
命令时出现以下错误
21:55:20] E/runner - Unable to start a WebDriver session.
[21:55:20] E/launcher - Error: SessionNotCreatedError: Unable to create new service: ChromeDriverService
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: '00000FJ26VN2', ip: '172.30.161.17', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_181'
Driver info: driver.version: unknown
我尝试了以下解决方案,但对我不起作用。
我遇到的另一个问题是,即使在chromedriver
我启动服务器时在以下位置替换了正确的位置后,它仍然显示错误的位置。(即,但我用我当前的浏览器版本chromedriver_75.0.3770.8.exe
替换它。chromedriver_74.0.3729.6.exe
文件位置:protractor-cucumber-typescript\node_modules\protractor\node_modules\webdriver-manager\selenium
启动服务器时的日志
λ npm run webdriver-start
> protractor-typescript-cucumber@4.0.0 webdriver-start c:\Repository\GitExt\Protractor\protractor-cucumber-typescript
> webdriver-manager start
[22:08:04] I/start - java -Dwebdriver.chrome.driver=c:\Repository\GitExt\Protractor\protractor-cucumber-typescript\node_modules\protractor\node_modules\webdriver-manager\selenium\chromedriver_75.0.3770.8.exe -Dwebdriver.gecko.driver=c:\Repository\GitExt\Protractor\protractor-cucumber-typescript\node_modules\protractor\node_modules\webdriver-manager\selenium\geckodriver-v0.24.0.exe -jar c:\Repository\GitExt\Protractor\protractor-cucumber-typescript\node_modules\protractor\node_modules\webdriver-manager\selenium\selenium-server-standalone-3.141.59.jar -port 4444
[22:08:04] I/start - seleniumProcess.pid: 1380
22:08:04.708 INFO [GridLauncherV3.parse] - Selenium server version: 3.141.59, revision: e82be7d358
22:08:04.825 INFO [GridLauncherV3.lambda$buildLaunchers$3] - Launching a standalone Selenium Server on port 4444
2019-06-13 22:08:04.883:INFO::main: Logging initialized @446ms to org.seleniumhq.jetty9.util.log.StdErrLog
22:08:05.145 INFO [WebDriverServlet.<init>] - Initialising WebDriverServlet
22:08:08.881 INFO [SeleniumServer.boot] - Selenium Server is up and running on port 4444
所以作为一个解决方案,我可以专门指向chromedriver吗?selenium-server-standalone-3.141.59.jar
和之间是什么关系chromedriver
?有没有办法找到这个的兼容chromedriver
版本jar
就我而言,我无权更新或降级我的机器 chrome 浏览器版本。那么如何更改网络驱动程序版本以与 chrome 浏览器版本保持一致。
解决方案
我在这里发现了问题并设法解决了。
问题:即使我将匹配项chromedriver.exe
放在路径 ( c:\Repository\GitExt\Protractor\protractor-cucumber-typescript\node_modules\protractor\node_modules\webdriver-manager\selenium
) 中,它仍在寻找来自webdriver-update
命令的原始版本。
所以我所做的是
chromedriver
从上述路径中删除。- 在某个文件夹位置添加首选文件夹并将其设置在 env.properties 中。变量。因此,如果项目文件夹中缺少驱动程序,它总是会在环境中设置路径。变量哪一个合适。
尽管有上述解决方案,我只是想知道如何在运行webdriver-update
命令时更改驱动程序版本?
推荐阅读
- javascript - 如何解决 DOM 层次结构,未捕获的 DOMException: Failed to execute '$x'
- c# - 从用户控制更改 Windows 内容控制 - WPF
- css - AjaxTOOLKIT 评级系统星星不显示,asp.net 网络表单
- haskell - 并非 do 块中的所有代码似乎都已执行
- javascript - 做一个Ajax Handler,需要问一些安全问题
- javascript - 用混合内容的 HTML 字符串替换 textNode
- tensorflow - Keras 中的多输入深度学习如何工作?
- python - 使用滚动窗口准确检测数据帧中具有重复值(同头同尾)的序列
- angular - Angular 导入模块性能
- dmg - 如何使用 javapackager ant 任务设置 DMG 窗口和背景大小