我开发了一个小应用程序(使用C#),它使用Selenium自动化测试网站。一切都进行得很顺利。但是当我尝试使用“无头”浏览器运行相同的应用程序时,测试就无法正常工作。我在下面的代码中遇到了问题:
var emailTextBox = driver.FindElement(By.Id("j_username"));
OpenQA.Selenium.WebDriverException:“远程WebDriver服务器的HTTP请求http://localhost:49309/session/d4416c4b-e674-468b-8d6e-6a8bfc9bdf1d/element在60秒后超时。”
同样的测试可以在普通浏览器中工作,但在无头模式下不起作用,我尝试使用Firefox、Chrome、PhantomJS(都是无头的),但它们都不起作用...
你有什么想法吗?
我的整个代码如下:
'''
using System;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
namespace MacDo
{
class Program
{
static void Main(string[] args)
{
var driverService = FirefoxDriverService.CreateDefaultService();
driverService.HideCommandPromptWindow = true;
var options = new FirefoxOptions();
options.AddArguments("-headless");
IWebDriver driver = new FirefoxDriver(driverService, options);
driver.Url = "https://www.mcdonalds.fr/";
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10000);
System.Threading.Thread.Sleep(2000);
var seConnecter = driver.FindElement(By.Id("seconnecter"));
seConnecter.Click();
driver.Close();
driver.Quit();
Console.ReadKey();
}
}
}
'''
我使用Firefox浏览器73.0.1 (32位)(-> 我使用Geckodriver版本0.26.0)
如前所述,它在普通模式下工作正常,但在无头模式下不起作用...