c# - 调用 FirefoxDriver 和 Firefox 时出现错误 : Found argument '-m' which wasn't expected, 或在此上下文中无效

标签 c# selenium firefox selenium-webdriver geckodriver

我的 Chrome 驱动程序存在一些问题,因此我想切换到 Firefox 驱动程序。我想创建一个 headless 浏览器,但遇到无法解决的错误。

1523632397476 geckodriver 信息 geckodriver 0.20.0 1523632397483 geckodriver INFO 在 127.0.0.1:60008 上监听

错误:发现参数“-m”不是预期的,或者在此上下文中无效

我像这样创建我的驱动程序:

var options = new FirefoxOptions();
options.BrowserExecutableLocation = @"C:\xxx\geckodriver.exe";
options.AddArgument("--headless");
c._driver = new FirefoxDriver(options);

我对 ChromeDriver 做了类似的事情,没有任何问题。

所有版本都是最新的。

你们能告诉我我做错了什么或者告诉我如何在 headless 模式下创建 FireFox 驱动程序吗?那太棒了!

非常感谢!

最佳答案

根据 FirefoxOptions.BrowserExecutableLocation PropertyAPI 文档它被定义为:

Gets or sets the path and file name of the Firefox browser executable.

因此参数 options.BrowserExecutableLocation 必须指向 firefox.exe绝对路径,而不是 geckodriver.exe强>

解决方案

因此,如果您的用例是从非标准位置使用 firefox,exe 二进制文件,您可以使用以下代码块:

var options = new FirefoxOptions();
options.BrowserExecutableLocation = @"C:\path\to\firefox.exe";
options.AddArgument("--headless");
c._driver = new FirefoxDriver(options);

注意:您可以在以下位置找到详细讨论:

关于c# - 调用 FirefoxDriver 和 Firefox 时出现错误 : Found argument '-m' which wasn't expected, 或在此上下文中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49820217/

相关文章:

c# - 防止 XslCompiledTransform 使用自闭合标签

Python Selenium ChromeDriver 错误消息 : EGL_NOT_INITIALIZED

java - 如何在类中找到特定按钮。该按钮可能与该类之外的其他按钮共享类名

EC 返回元素时 python selenium WebDriverWait 不起作用

html - 如何在 Mozilla Firefox 中将原始数据发送到打印机? (原始打印)

c# - 并发字典删除集合类型值的最佳方法

c# - MVC : start process as different user - not working

javascript - 绝对元素后面的元素上的文本选择

c# - 从 URL 获取图像但未完全加载

javascript - 如何阻止 js 警报出现这样的输出?