首页 文章

Selenium c#多种选择

提问于
浏览
0

我正在尝试使用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上的OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)在OpenQA的OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor,ICapabilities desiredCapabilities)的OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities)中的.Remote.RemoteWebDriver.Execute(String driverCommandToExecute,Dictionary`2参数) . SeleniumTest.Form1中的Selenium.Chrome.ChromeDriver..ctor(ChromeOptions选项) . <> c__D isplayClass5_0.b__0()在C:\用户\ Ussagui \源\回购\ SeleniumTest \ SeleniumTest \ Form1.cs中:在System.Threading.Tasks.Task.InnerInvoke()在System.Threading.Tasks.Task.Execute线53( )

我的代码是:

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

如果我只使用它的扩展或参数 . 我怎么能同时使用?或者我不能?预先感谢 .

1 回答

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

相关问题