尝试启动Firefox驱动程序时出错

时间:2017-01-21 17:28:24

标签: c# firefox selenium-webdriver

请在编写启动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包。

我搜索了这个网站&谷歌的解决方案。但是,我还没有得到解决方案。

火狐浏览器安装在PC上。

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

我认为它应该在系统环境变量中?

感谢您的帮助。

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

从NuGet包管理器安装Selenium.Firefox.Webdriver,然后重建解决方案,它将起作用。

答案 3 :(得分:0)

如果使用的是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"