首页 > 解决方案 > WebDriver JS 强制使用本地“selenium-webdriver”

问题描述

我之前使用 'npm install -g selenium-webdriver 安装了 selenium,所以我所有的项目都使用全局节点模块(在 mac os 上设置)。有效!然后我尝试了不同的 JavaScript 测试自动化框架。现在我想从头开始,但是当我按照与以前相同的步骤为 webdriverJs 自动化安装 selenium 时,它不起作用。

#我采取的步骤:#

  1. 运行 npm init(我没有更改 package.json 中的任何值)
  2. 运行 sudo npm install -g selenium-webdriver
  3. 运行 sudo npm install -g chromedriver
  4. 运行 sudo npm install -g geckodriver
  5. 验证是否在 /usr/local/lib/node_modules 中成功创建了所有模块
  6. 通过运行以下简单脚本来验证是否使用了全局模块:

var webdriver = require('selenium-webdriver'),
    //By = webdriver.By,
    //until = webdriver.until;
var driver = new webdriver.Builder().forBrowser('chrome').build();

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

#结果#

Error: Cannot find module 'selenium-webdriver'

虽然我了解错误正在传达什么(运行 npm install selenium-webdriver 以将节点模块与驱动程序放在项目内),但我的意图是全局使用 selenium-webdriver(加上 chromedriver、geckodriver)进行更多项目。

我怎样才能做到这一点并强制项目在全球而不是本地使用硒?

谢谢你。

标签: node.jsseleniumselenium-webdrivernpm

解决方案


尝试清除node_modules文件夹并运行npm install.


推荐阅读