首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#硒-无头浏览器

C#硒-无头浏览器
EN

Stack Overflow用户
提问于 2020-03-04 19:51:28
回答 1查看 3.8K关注 0票数 3

我开发了一个小型应用程序(在C#中),它可以在一个使用Selenium的网站上实现测试自动化。一切都进行得很顺利。但是当我用“无头”浏览器尝试同一个应用程序时,测试就不起作用了。下面的代码我有一个问题:

代码语言:javascript
复制
var emailTextBox = driver.FindElement(By.Id("j_username"));

OpenQA.Selenium.WebDriverException :‘对远程WebDriver服务器的http://localhost:49309/session/d4416c4b-e674-468b-8d6e-6a8bfc9bdf1d/element请求在60秒后超时。’

同样的测试适用于普通浏览器,但不适用于无头模式,我尝试使用火狐、Chrome、PhantomJS (都是在无头浏览器中),但它不起作用.

你有什么主意吗?

我的全部代码是:

“”“

代码语言:javascript
复制
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位) (->我使用Geckodriver0.26.0版)

就像前面说的,它很好,但不是在无头模式下.

EN

回答 1

Stack Overflow用户

发布于 2020-03-09 12:43:40

我以前也遇到过同样的问题,脚本没有在无头状态下工作,我发现这是默认解决方案造成的。您可以尝试添加

代码语言:javascript
复制
options.addArguments("window-size=1920,1080");

值得一试!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60533712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档