如何以无头模式启动ChromeDriver

我想尝试无头镀铬,但是遇到了这个问题,我无法以无头模式启动驱动程序。我正在关注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);

回答:

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);

以上是 如何以无头模式启动ChromeDriver 的全部内容, 来源链接: utcz.com/qa/419904.html

回到顶部