我想拥有最新的浏览器引擎,而不需要手动下载,所以我找到了webdriver管理器。虽然selenium documentation提到了webdriver管理器,但
//目前没有推荐的JavaScript驱动程序管理器
我找到了一个名为webdriver-manager
的NPM包,但他们没有提到如何将其与nodeJ集成。
现在,我只是运行webdriver-manager update --out_dir ~/.local/bin/
将文件下载到PATH
包含的目录中,但是我仍然需要重命名可执行文件,因为selenium-webdriver
不会自动检测它们。
我用的是无头浏览器的传统代码
const { Builder, By, until } = require('selenium-webdriver')
const chrome = require('selenium-webdriver/chrome')
const firefox = require('selenium-webdriver/firefox')
//...
let driver
switch (browserForTest) { // browserForTest is fetched from argv
case 'firefox':
driver = await new Builder()
.forBrowser('firefox')
.setFirefoxOptions(new firefox.Options().headless().windowSize(screen))
.build()
break
case 'chrome':
driver = await new Builder()
.forBrowser('chrome')
.setChromeOptions(new chrome.Options().headless().windowSize(screen))
.build()
break
default:
throw Error('Wrong browser: ' + browserForTest)
}
有人用过webdriver-manager
和nodeJS吗?你是如何集成它的?你是如何使用selenium webdriver管理器和node/javascript的?
1条答案
按热度按时间6tqwzwtp1#
网络驱动程序管理器(主):README.md:
请参见webdriver-manager's master branch(这不是他们的主分支,
legacy
分支才是)用作依赖项
要将其安装为依赖项:npm install -D webdriver-manager。以下是将webdriver-manager作为依赖项运行的示例。此测试将下载提供程序并以分离状态独立启动Selenium服务器。测试完成后,它将关闭独立的Selenium服务器。