如何以无头模式启动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