我想运行firefox无头。
不隐藏浏览器窗口或在虚拟桌面中打开它,Firefox使用“-headless”标志支持无头模式。
问题是我知道如何在Chrome中使用它而不是在Firefox中。
我的代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
namespace MyApp {
public partial class Form1: Form {
public Form1() {
InitializeComponent();
}
private void StartBtn_Click(object sender, EventArgs e) {
IWebDriver driver;
FirefoxOptions options = new FirefoxOptions();
options.AddArguments("--headless");
driver = new FirefoxDriver(options);
}
}
}
我的WinForm应用程序只有一个名为StartBtn的按钮。 单击按钮时,Firefox应无头运行,但会在正常窗口中打开。
更新 我将firefox更新为56.0.1
现在我得到了一个不同的错误:
“OpenQA.Selenium.WebDriverException”类型的未处理异常 发生在WebDriver.dll
中其他信息:预期的浏览器二进制位置,但无法使用 在默认位置找到二进制文件,没有'moz:firefoxOptions.binary' 提供的功能,并且命令行上没有设置二进制标志
答案 0 :(得分:3)
Windows和Mac OS上的版本56支持Firefox中的无头模式。确保安装了正确的版本。
https://developer.mozilla.org/en-US/Firefox/Headless_mode#Browser_support
使用 Firefox v56.0.1 , Selenium.WebDriver v3.6.0 和 geckodriver v0.19.0(x64),这对我来说正常。
关于错误:
WebDriver.dll中发生未处理的“OpenQA.Selenium.WebDriverException”类型异常
确保您使用的是geckodriver
的正确版本。我怀疑您在x32
计算机上使用x64
版本,获得x64
版本。