Je veux exécuter Firefox sans tête.
Ne pas masquer la fenêtre du navigateur ou l'ouvrir dans un bureau virtuel, Firefox prend en charge le mode sans tête en utilisant l'indicateur "-headless".
Le problème est que je sais comment le faire dans chrome mais pas dans Firefox.
Mon code:
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);
}
}
}
Mon application WinForm n'a qu'un bouton avec le nom StartBtn. En cliquant sur le bouton Firefox devrait fonctionner sans tête, mais il s'ouvre dans une fenêtre normale.
Mise à jour J'ai mis à jour Firefox vers 56.0.1
Maintenant, je reçois une erreur différente:
Une exception non gérée de type "OpenQA.Selenium.WebDriverException" s'est produite dans WebDriver.dll
Informations supplémentaires: emplacement binaire attendu du navigateur, mais impossible de trouver le binaire à l'emplacement par défaut, aucune capacité "moz: firefoxOptions.binary" fournie et aucun indicateur binaire défini sur la ligne de commande
Le mode sans tête dans Firefox est pris en charge à partir de la version 56 sur Windows et Mac OS. Assurez-vous que la bonne version est installée.
https://developer.mozilla.org/en-US/Firefox/Headless_mode#Browser_support
Avec Firefox v56.0.1 , Selenium.WebDriver v3.6.0 et geckodriver v0.19.0 (x64) cela fonctionne correctement pour moi.
Concernant l'erreur:
Une exception non gérée de type "OpenQA.Selenium.WebDriverException" s'est produite dans WebDriver.dll
Assurez-vous que vous utilisez la bonne version de geckodriver
. Je suppose que vous utilisez le x32
s'appuie sur un x64
machine, récupérez le x64
construire.