我的 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 Property 的 API 文档它被定义为:
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/