如何在node/javascript中使用selenium webdriver管理器?

lxkprmvk  于 2023-02-16  发布在  Java
关注(0)|答案(1)|浏览(263)

我想拥有最新的浏览器引擎,而不需要手动下载,所以我找到了webdriver管理器。虽然selenium documentation提到了webdriver管理器,但
//目前没有推荐的JavaScript驱动程序管理器
我找到了一个名为webdriver-manager的NPM包,但他们没有提到如何将其与nodeJ集成。
现在,我只是运行webdriver-manager update --out_dir ~/.local/bin/将文件下载到PATH包含的目录中,但是我仍然需要重命名可执行文件,因为selenium-webdriver不会自动检测它们。
我用的是无头浏览器的传统代码

  1. const { Builder, By, until } = require('selenium-webdriver')
  2. const chrome = require('selenium-webdriver/chrome')
  3. const firefox = require('selenium-webdriver/firefox')
  4. //...
  5. let driver
  6. switch (browserForTest) { // browserForTest is fetched from argv
  7. case 'firefox':
  8. driver = await new Builder()
  9. .forBrowser('firefox')
  10. .setFirefoxOptions(new firefox.Options().headless().windowSize(screen))
  11. .build()
  12. break
  13. case 'chrome':
  14. driver = await new Builder()
  15. .forBrowser('chrome')
  16. .setChromeOptions(new chrome.Options().headless().windowSize(screen))
  17. .build()
  18. break
  19. default:
  20. throw Error('Wrong browser: ' + browserForTest)
  21. }

有人用过webdriver-manager和nodeJS吗?你是如何集成它的?你是如何使用selenium webdriver管理器和node/javascript的?

6tqwzwtp

6tqwzwtp1#

网络驱动程序管理器(主):README.md:

请参见webdriver-manager's master branch(这不是他们的主分支,legacy分支才是)

用作依赖项

要将其安装为依赖项:npm install -D webdriver-manager。以下是将webdriver-manager作为依赖项运行的示例。此测试将下载提供程序并以分离状态独立启动Selenium服务器。测试完成后,它将关闭独立的Selenium服务器。

  1. import {
  2. Options,
  3. setLogLevel,
  4. shutdown,
  5. start,
  6. update,
  7. } from 'webdriver-manager';
展开查看全部

相关问题