当前位置: 首页 > 知识库问答 >
问题:

Selenium C#多个选项

西门正平
2023-03-14

我正在尝试使用多个选项在我的selenium项目与Chrome作为驱动程序,但当我尝试添加headless+扩展时,我得到了一个错误

发生System.InvalidOperationException Hresult=0x80131509
消息=未知错误:无法等待加载扩展后台页:Chrome-Extension://jmphljmgnagblkombahigniilhnbadca/_generated_background_page.html来自未知错误:找不到页:Chrome-Extension://jmphljmgnagblkombahigniilhnbadca/_generated_background_page.html(驱动程序信息:C:\users\ussagui\source\repos\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个答案

商骞仕
2023-03-14

几点:

>

  • 虽然参数--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);
    

  •  类似资料:
    • 问题内容: 我想知道Selenium C#上是否存在任何Assert类,就像我们在编码UI测试中一样。否则我将使用Microsoft.VisualStudio.TestTools.UnitTesting.Assert类在selenium中执行断言。谢谢 问题答案: 是的,您将在单元测试框架中使用该类 该库对测试框架功能类型(包括)不负责。您可以使用支持多种不同框架的工具,其中包括如果您出于任何原因

    • 问题内容: 我已经在c#中使用selenium编写了一个nUnit测试。 一切顺利,直到我必须确认JS确认框。 这是我正在使用的代码: 确认框出现在提交按钮之后。确认出现,然后立即消失,但不提交表单。无论上面的accept()行如何,其行为都是相同的。 我正在使用Firefox v15.0.1和seleniumv2.24 我试图在提交点击和确认接受之间放置一个Thread.Sleep。 我读过的所

    • 问题内容: 所以,我想用香草JS做的事情很简单,但是我使用的是AngularJS,我想知道如何在框架内以最佳方式做到这一点。我想在多个选择框中更新所选的选项。我不想添加或删除任何选项。这是我的HTML外观: 使用以下数组,我想以编程方式从此列表中选择/取消选择选项: 当我在范围中设置此数组时,我希望选择框取消选择不是蓝色或红色的任何内容,然后选择蓝色和红色。我在Google网上论坛上看到的标准回复

    • 问题内容: 尝试在angularjs中选择关于对象值的多个选项 这是一个代码: 和html jsfiddle上的(非)工作示例 http://jsfiddle.net/andrejkaurin/h9fgK/ 问题答案: 您尝试使用选择倍数(如复选框列表),这有点奇怪。多选输出一个数组。您不能将ng- model放在这样的选项标签上,而是放在选择本身上。因此,由于select将输出值数组,因此您需要

    • 我有一个可以包含多个可选ID的类,该类将选择第一个可用ID并将其返回给调用方。像下面这样。 我想使用像map和orElse这样的可选方法,但在这种情况下,它会导致太多的嵌套。另外两个伪代码选项可能是。 有没有比我现有的方法更好的方法?我很想通过做香草isPresent()检查来避免嵌套。

    • 问题内容: 这里完全没有想法,可能需要一个简单的解决方案。 基本上我想要的查询是: 我只想选择ID为3和4的行,或者命名为“ andy”和“ paul” 非常感谢您的回答 问题答案: 尝试: 或等效的: