我尝试使用Selenium WebDriver打开修改过的FireFox浏览器。 (这个基于Firefox的浏览器与原始Firefox一样,只是具有附加功能。)
此浏览器打开,然后我收到错误:
[" OpenQA.Selenium.WebDriverException"在WebDriver.dll中] TypeError:给定browserName [object String]" firefox",但我的名字是[object String]" anotherbrowser"
我的代码[C#]:
var path = new FirefoxBinary(@"C:\FireFox_BasedBrowser\anotherbrowser.exe");
IWebDriver driver = new FirefoxDriver(path, null); //here's error
搜索后我在Java上找到了这个建议:
String bname = "Browser name";
FirefoxOptions options = new FirefoxOptions();
options.setBinary("Path to browser binary");
options.setCapability("browserName", bname);
options.setCapability("marionette", false);
driver = new FirefoxDriver(options);
我尝试将其重写为C#:
DesiredCapabilities cap = DesiredCapabilities.Firefox();
cap.SetCapability("browserName", "anotherbrowser");
cap.SetCapability("firefox_binary", @"C:\FireFox_BasedBrowser\anotherbrowser.exe");
IWebDriver driver = new FirefoxDriver(cap); //here's error
但我也有错误:
[" System.ArgumentException"在WebDriver.dll中] 已经有一个browserName功能选项。请用 相反。
请帮助我,我找不到任何解决方案。
P.S。我不能使用原始的Firefox浏览器,因为它与这个改进的Firefox没有相同的优势。
答案 0 :(得分:0)
使用FirefoxDriverService.CreateDefaultService(...)
为Firefox定义另一个路径:
var service = FirefoxDriverService.CreateDefaultService(@"C:\drivers", "geckodriver.exe");
service.FirefoxBinaryPath = @"C:\Program Files (x86)\Mozilla Firefox\firefox.exe";
var driver = new FirefoxDriver(service);