首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >NodeJS Selenium-设置浏览器二进制位置而不更改路径

NodeJS Selenium-设置浏览器二进制位置而不更改路径
EN

Stack Exchange QA用户
提问于 2018-07-20 14:33:39
回答 1查看 3.8K关注 0票数 3

目前,我在Windows7中为基于NodeJS的火狐测试做了以下设置

代码语言:javascript
运行
复制
Firefox 61.0.1
"geckodriver": "^1.11.0",
"selenium-webdriver": "^4.0.0-alpha.1"

但是,当我执行命令时

代码语言:javascript
运行
复制
let driver = await new webDr.Builder().withCapabilities(webDr.Capabilities.firefox()).build(); 

我知道错误了

SessionNotCreatedError:预期的浏览器二进制位置,但无法在默认位置找到二进制文件,没有提供'moz:firefoxOptions.binary‘功能,命令行上也没有设置二进制标志

我怀疑这是因为我无法用大多数教程设置窗口中的路径变量。就像这个。

“将chromedriver和geckodriver的位置添加到系统路径变量中。这应该是从硬盘根目录到包含驱动程序的目录的绝对路径。例如,如果我们使用的是Mac OS X机器,我们的用户名是bob,并且将驱动程序放在主文件夹的根目录中,路径为/ user /bob。”

然而,我们公司的笔记本电脑已经限制了修改以下内容:系统文件夹,注册表,不幸的是。路径变量

如何在不修改路径变量的情况下指向Firefox二进制文件?

如果我换了火狐司机,我还会有同样的麻烦吗?

更新:

我根据firefox文件上的文档尝试了以下内容:

代码语言:javascript
运行
复制
      const firefox = require('selenium-webdriver/firefox');

      let options = new firefox.Options().setBinary(os.homedir() + '/AppData/Local/Mozilla Firefox'); 

      let driver = new webDr.Builder()
          .forBrowser('firefox').setFirefoxOptions(options).build();

然而,现在的错误是..。

"SessionNotCreatedError:未能启动浏览器(路径):权限被拒绝“

我怎么才能避开这一切?

EN

回答 1

Stack Exchange QA用户

发布于 2018-07-20 17:22:11

我在选项中找到了答案。你应该指向firefox.exe本身,而不仅仅是路径

代码语言:javascript
运行
复制
  const firefox = require('selenium-webdriver/firefox');

  let options = new firefox.Options().setBinary(os.homedir() + '/AppData/Local/Mozilla Firefox/firefox.exe'); 

  let driver = new webDr.Builder()
      .forBrowser('firefox').setFirefoxOptions(options).build();
票数 1
EN
页面原文内容由Stack Exchange QA提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://sqa.stackexchange.com/questions/34851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档