我正在尝试使用Chrome作为驱动程序在我的selenium项目中使用多个选项,但是当我尝试添加无头+扩展时出现错误
发生System.InvalidOperationException HResult = 0x80131509
消息=未知错误:无法等待扩展背景页面 加载: 镀铬的扩展://jmphljmgnagblkombahigniilhnbadca/_generated_background_page.html 来自未知错误:找不到页面: 镀铬的扩展://jmphljmgnagblkombahigniilhnbadca/_generated_background_page.html (司机信息:chromedriver = 2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform = Windows NT 10.0.15063 x86_64)Source = WebDriver StackTrace:在OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(字符串 driverCommandToExecute,Dictionary`2参数)at OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities) OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor,ICapabilities desiredCapabilities)at OpenQA.Selenium.Chrome.ChromeDriver..ctor(ChromeOptions选项)at SeleniumTest.Form1。<> c__DisplayClass5_0.b__0()in C:\用户\ Ussagui \源\回购\ SeleniumTest \ SeleniumTest \ Form1.cs中:线 53在System.Threading.Tasks.Task.InnerInvoke()at System.Threading.Tasks.Task.Execute()
我的代码是:
var option = new ChromeOptions();
option.AddArguments("--headless --disable-gpu");
option.AddExtensions(@"EXTENSION PATH");
var driver = new ChromeDriver(option);
var action = new Actions(driver);
driver.Navigate().GoToUrl(URL);
如果我只使用其工作的扩展名或参数。 我怎么能同时使用?或者我不能? 提前谢谢。
答案 0 :(得分:0)
几点:
虽然参数--headless
和--disable-gpu
是相互关联的,但用于单独的任务。因此,我们需要单独指定它们。
使用最佳代码块并注释/删除调试/未使用的代码。由于driver.Navigate().GoToUrl(URL);
不需要WebDriver
个实例进行投放,因此我们需要发表评论/删除var action = new Actions(driver);
您的最终代码块如下所示:
var option = new ChromeOptions();
option.AddArguments("--headless");
option.AddArguments("--disable-gpu");
option.AddExtensions(@"EXTENSION PATH");
var driver = new ChromeDriver(option);
driver.Navigate().GoToUrl(URL);