【问题标题】:Error On Trying To Launch Firefox Driver尝试启动 Firefox 驱动程序时出错
【发布时间】:2017-06-06 13:06:07
【问题描述】:

拜托,当我编写一些代码来启动 firefox 驱动程序时出现此错误:

================================================ ====================================

WebDriver.dll 中出现“OpenQA.Selenium.DriverServiceNotFoundException”类型的未处理异常

附加信息:geckodriver.exe 文件不存在于当前目录或 PATH 环境变量上的目录中。驱动可以在https://github.com/mozilla/geckodriver/releases下载。

代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using System.Threading.Tasks;


namespace FireFox_Driver_Launch
{
    class Program
    {
        static void Main(string[] args)
        {

            var Driver = new FirefoxDriver();
            Driver.Navigate().GoToUrl("http://www.starwoodhotels.com/preferredguest/account/enroll/index.html");

        }
    }
}

================================================ =================

我还添加了“Manager Nuget Packages”中的 selenium webdriver 包。

我已经在这个网站和谷歌上搜索了一个解决方案。但是,我还没有得到解决方案。

firefox浏览器已安装在PC上。

我已经下载了 geckodriver。请问,我如何把它放在PATH中?

我相信它应该在系统环境变量中?

感谢您的帮助。

【问题讨论】:

    标签: c# firefox selenium-webdriver


    【解决方案1】:

    您需要按照错误消息中的说明安装 GeckoDriver。最简单的方法是添加 Selenium.Firefox.WebDriver nuget 包以及您已经安装的 Selenium.WebDriver

    【讨论】:

    • 非常感谢!我下载了包:Selenium.Firefox.WebDriver 但是,我收到了此错误消息:WebDriver.dll 中发生了“OpenQA.Selenium.WebDriverException”类型的未处理异常附加信息:对 URL @987654321 的远程 WebDriver 服务器的 HTTP 请求@ 60 秒后超时。
    • 这可能是一个错误 - 根据这篇文章:stackoverflow.com/questions/22322596/… 但是,我遇到了另一个错误。非常感谢。我尝试使用以下代码启动驱动程序:new FirefoxDriver(new FirefoxBinary(),new FirefoxProfile(),TimeSpan.FromSeconds(180));
    【解决方案2】:

    我也遇到过同样的问题,但是通过在 Nuget 包管理器中安装 Selenium.Firefox.WebDriver 解决了这个问题。

    【讨论】:

    • 谢谢,我就是这么做的。非常感谢
    【解决方案3】:

    从 NuGet 包管理器安装 Selenium.Firefox.Webdriver,然后重新构建解决方案,它会工作。

    【讨论】:

      【解决方案4】:

      如果有人在使用 geckodriver,那么您需要设置 geckodriver 的路径,这可以是绝对路径,也可以指定 geckodriver.exe 相对于项目的路径。

          System.setProperty("webdriver.gecko.driver", "./myGeckodriverPathFolder/geckodriver.exe");
          File pathToBinary = new File("C:\\Program Files\\Mozilla Firefox\\firefox.exe");
          FirefoxBinary ffBinary = new FirefoxBinary(pathToBinary);
          FirefoxProfile firefoxProfile = new FirefoxProfile();       
          
          WebDriver driver = new FirefoxDriver(ffBinary, firefoxProfile);
      

      geckdriver 路径如果用作绝对路径则为"C:\\myGeckodriverPathFolder\\geckodriver.exe"

      【讨论】:

        猜你喜欢
        • 2015-08-09
        • 2013-10-06
        • 2013-07-08
        • 1970-01-01
        • 2020-03-28
        • 2019-04-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多