我无法让Selenium在c#上使用Firefox驱动程序。 Chrome可以完美运行,但不适用于Firefox。
使用:
我已经在Windows中设置了路径变量。
GeckoDriver已安装在源文件夹中的Bin文件夹中。
Firefoxdriverservice不存在,因此无法使用该命令。
我得到的错误是" 引发异常: System.ComponentModel.Win32Exception:系统找不到指定的文件"
using Microsoft.VisualStudio.TestTools.UnitTesting;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using System.Windows.Forms;
namespace BeatRecaptcha
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
IWebDriver driver = new FirefoxDriver();
driver.Manage().Window.Maximize();
//Go to Google
driver.Navigate().GoToUrl("www.google.co.uk");
}
}
}
答案 0 :(得分:2)
不确定您最近是否升级到最新版本的selenium,但是从Selenium 3.0开始,您还需要根据您的系统配置从以下网址下载geckodriver.exe。
https://github.com/mozilla/geckodriver/releases
然后你可以尝试这样的事情:
//Give the path of the geckodriver.exe
FirefoxDriverService service = FirefoxDriverService.CreateDefaultService(@"C:\Users\abcd\Downloads\geckodriver-v0.13.0-win64","geckodriver.exe")
//Give the path of the Firefox Browser
service.FirefoxBinaryPath = @"C:\Program Files (x86)\Mozilla Firefox\firefox.exe";
IWebDriver driver = new FirefoxDriver(service);
driver.Navigate().GoToUrl("https://www.google.com");
答案 1 :(得分:0)
想出来的人。
感谢每个人的贡献。 事实证明3.8.0只支持c#,而不是3.9,nuget会自动安装为Webdriver。 现在一切正常,您甚至不必指定driverservice并将其指向路径,因为它会自动拾取它。
亲切的问候
答案 2 :(得分:0)