请注意,我在编写一些代码来启动firefox驱动程序时遇到了这个错误:
=================================================
WebDriver.dll 中发生类型为"OpenQA.Senium.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网络驱动程序包。
我已经搜索了这个网站&谷歌搜索解决方案。但是,我还没有得到解决方案。
firefox浏览器安装在PC上。
我已经下载了壁虎驱动器。请问,我该如何把它放在PATH中?
我认为应该是在系统环境变量中?
谢谢你的帮助。
您需要按照错误消息中的说明安装GeckoDriver。最简单的方法是添加Selenium.Firefox.WebDriver
nuget包以及已经安装的Selenium.WebDriver
。
如果有人正在使用geckodriver,则需要为geckodrive设置路径,该路径可以是绝对路径,也可以指定geckoddriver.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"
我也遇到过同样的问题,但通过在Nuget包管理器中安装Selenium.Firefox.WebDriver解决了这个问题。
从NuGet包管理器安装Selenium.Firefox.Webdriver,然后重新构建解决方案,它就可以工作了。