当前位置: 首页 > 面试题库 >

如何以无头模式启动ChromeDriver

洪增
2023-03-14
问题内容

我想尝试无头镀铬,但是遇到了这个问题,我无法以无头模式启动驱动程序。我正在关注google文档。我错过了什么吗?该代码执行陷在var browser = new ChromeDriver();线路

这是我的代码:

var chromeOptions = new ChromeOptions
{
    BinaryLocation = @"C:\Users\2-as Aukstas\Documents\Visual Studio 2017\Projects\ChromeTest\ChromeTest\bin\Debug\chromedriver.exe",
    DebuggerAddress = "localhost:9222"
};

chromeOptions.AddArguments(new List<string>() {"headless", "disable-gpu" });

var browser = new ChromeDriver(chromeOptions);


browser.Navigate().GoToUrl("https://stackoverflow.com/");
Console.WriteLine(browser.FindElement(By.CssSelector("#h-top-questions")).Text);

问题答案:

UPDATE
Chrome版本60已经发布,因此您所需要做的就是通过Nuget下载Chromdriver和Selenium并使用此简单代码,一切都像个魅力。惊人。

using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;

...



var chromeOptions = new ChromeOptions();
chromeOptions.AddArguments("headless");

using (var browser = new ChromeDriver(chromeOptions))
{
  // add your code here
}

日期

在正式发布Chrome 60之前,有一个解决方案。您可以下载Chrome
Canary并使用它。安装完成后,将BinaryLocation设置为指向chrome
canary,还注释掉DebuggerAddress行(它强制chrome超时):

var chromeOptions = new ChromeOptions
{
    BinaryLocation = @"C:\Users\2-as Aukstas\AppData\Local\Google\Chrome SxS\Application\chrome.exe",
    //DebuggerAddress = "127.0.0.1:9222"
};

chromeOptions.AddArguments(new List<string>() { "no-sandbox", "headless", "disable-gpu" });

var _driver = new ChromeDriver(chromeOptions);


 类似资料:
  • 问题内容: 我正在研究用于网络抓取的python脚本,并且没有使用Chromedriver作为软件包之一。我希望此操作无需任何弹出窗口即可在后台运行。我在chromedriver上使用了“无头”选项,它似乎在不显示浏览器窗口的情况下完成了工作,但是,我仍然看到.exe文件正在运行。查看我在说什么的屏幕截图。屏幕截图 这是我用来启动ChromeDriver的代码: 我尝试做的事情是将选项中的窗口大小

  • 问题内容: 我正在使用Selenium Webdriver,Ruby 32位1.9.3,Chromedriver v2.9.248315,Chrome 38.0.2125.111 m和Jenkins 1.588的本地实例 Gems: cucumber (1.3.17),selenium-webdriver (2.43.0), watir-webdriver (0.6.11)(如果您认为有必要,可以

  • 问题内容: 我正在使用Maven Jetty插件,如果任何Bean失败,有没有一种方法可以防止服务器启动或关闭(例如,使用maven-jetty-plugin)? 这是一个例子: 我想关闭服务器。我知道有一种方法涉及在每个bean中编码destroy方法,但是我想为任何bean提供全局的东西。 问题答案: 要完成这项任务并不容易。从码头的源代码中找到所需的信息需要花费数小时的辛苦工作。 这是与我的

  • 本文向大家介绍android 启动模式:相关面试题,主要包含被问及android 启动模式:时的应答技巧和注意事项,需要的朋友参考一下 1、standard:标准化启动模式 每启动一个Activity,都会重新创建Activity的新的实例,将其放在栈的顶部。不需要考虑这个实例是否已经存在。 每一次启动,它的onCreate()、onStart()、onResume()方法都会被依次调用。 2、s

  • 如果我们有一个运行sikuli的无头测试服务器(需要ubuntu和Windows配置),如何在没有物理显示器的情况下使其工作,并且最好是尽可能多的屏幕分辨率。