【问题标题】:Selenium driver cannot be found in environment variables在环境变量中找不到 Selenium 驱动程序
【发布时间】:2017-07-06 22:58:25
【问题描述】:

我一直在使用 selenium,一切正常。

我已将 chromedriver 和其他内容包含在我的 bin 目录中,以便可以提取它们。

如果我将它们移到此位置之外,则会收到以下错误消息。

结果消息:OneTimeSetUp: OpenQA.Selenium.DriverServiceNotFoundException:chromedriver.exe 文件在当前目录或上一个目录中不存在 PATH 环境变量。驱动程序可以在 http://chromedriver.storage.googleapis.com/index.html.

我知道这是因为它没有找到驱动程序 exe,所以需要引用该位置。

如果我把它放在代码中一切正常

Instance = new ChromeDriver("C:\\drivers");

我遇到的问题是硬编码位置是不好的做法,我不想这样做,因为我正在为可能希望将驱动程序存储在第二个 HD 上的其他人制作可重复使用的组件。

我已将位置添加到我的路径环境变量中,正如上面的错误所暗示的那样,但是我的代码无法获取驱动程序 exe

有没有我遗漏的步骤?

【问题讨论】:

  • 您是否在环境设置中的用户变量或系统变量中添加了路径。尝试同时添加并检查。

标签: c# selenium environment-variables


【解决方案1】:

您可以将 Web 驱动程序的路径添加到计算机的 PATH 变量中,或者将路径保存在您从中读取的配置文件中,并在安装期间设置路径。 Oracle 有一个 guide 可以添加到 java 的 PATH 变量中,但是如果您将 java.exe 替换为 chromedriver.exe,它应该会得到相同的结果。

【讨论】:

  • 感谢您的回答,我尝试了所有这些但没有成功,我重新启动了我的机器,然后它神奇地工作了。我认为 Selenium 无法通过环境变量获取某些内容,因此如果其他人遇到此问题,请尝试使用旧的将其关闭并再次打开 :)
【解决方案2】:

您正在为驱动程序提供路径。您是否应该在 chromedriver.exe 之前不提供路径。

即尝试用

替换您的代码

Instance = new ChromeDriver("C:\drivers\chromedriver.exe");

如果您的 chromedriver.exe 在文件夹驱动程序中

【讨论】:

  • 嗨 Monika,这不是我遇到的问题,我可以让它工作,将位置传递给驱动程序构造函数,但我不希望这样做。相反,我试图将位置放在环境变量中。
猜你喜欢
  • 1970-01-01
  • 2016-12-16
  • 2020-09-04
  • 2020-04-16
  • 1970-01-01
  • 2017-06-23
  • 1970-01-01
  • 1970-01-01
  • 2018-12-27
相关资源
最近更新 更多