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

如何在使用 edgeDriver 硒时向 edgeOptions 添加参数

井誉
2023-03-14

我已经在我的项目中添加了用于硒测试的chromedriver选项,但我不明白边缘驱动程序的适当方法。我已经尝试了所有的可能性。有人可以帮助我吗?谢谢。

            ChromeOptions options = new ChromeOptions();
    options .addArguments("--start-maximized");
    options .addArguments("--window-size=1920,900");
    _chromeOptions.addArguments("--ignore-certificate-errors");

它在chromeOptions上运行良好,但我不明白如何为edge options编写。

            EdgeOptions options = new EdgeOptions();
            options.setCapability("window-size","1920*900");
    options.setCapability("ignore-certificate-errors" , true);

    DesiredCapabilities capabilities = DesiredCapabilities.edge();
            options.merge(capabilities);

对于edge选项,因为没有addArguments函数,所以我尝试了setCapability,并最终与DesiredCapabilities合并,但它不起作用

共有2个答案

陈项禹
2023-03-14

我也遇到了同样的问题,这让我非常沮丧!幸运的是,在selenium-edge-driver的较新alpha版本(4.0.0-alpha-5)中,他们在< code>addArguments()方法中添加了< code>EdgeOptions()

司徒光霁
2023-03-14

如果您仍然希望使用Selenium 3.141.59来实现兼容性,那么向EdgeOptions添加参数的方法如下:

EdgeOptions options = new EdgeOptions();
options.setCapability(CapabilityType.ACCEPT_INSECURE_CERTS, true);
List<String> args = Arrays.asList("use-fake-ui-for-media-stream", "use-fake-device-for-media-stream");
Map<String, Object> map = new HashMap<>();
map.put("args", args);
options.setCapability("ms:edgeOptions", map);

我必须进行逆向工程,以找出驱动程序内部期望的确切数据结构。这就像一个魅力。

 类似资料:
  • 我试图使用HttpClient将“Accept Encoding”参数添加到我的HTTP头中,如“gzip,deflate”。代码如下所示。但是,我在响应中遇到以下错误,无法添加header参数。响应不包含添加的标题字段 错误:内部服务器错误

  • 如果我有这样一个函数: 我想给参数添加类型提示,怎么做?我假设的方式给了我一个语法错误: 以下内容不会引发语法错误,但似乎不是处理这种情况的直观方式: 我在文档中或在Google搜索中找不到任何东西。 编辑:我不知道默认参数在Python中是如何工作的,但为了这个问题,我将保留上面的示例。一般说来,做以下事情要好得多:

  • 问题内容: 在使用AJAX调用的Web应用程序中,我需要提交一个请求,但要在URL的末尾添加一个参数, 寻找一种JavaScript函数,该函数解析URL并查看每个参数,然后添加新参数或更新值(如果已经存在)。 问题答案: 您需要调整的基本实现如下所示: 这大约是正则表达式或基于搜索的解决方案的两倍,但是这完全取决于查询字符串的长度和任何匹配项的索引 我为完成测试而基准的慢速正则表达式方法(慢了大

  • 我正在使用PhpStorm,对于函数,我想在评论部分添加< code>@since 1.0.0。像这样: PhpStorm文档中没有说明如何实现这一点。 < li >有没有人使用过PhpStorm,并让< code>@since在做自动注释时显示出来? < li >这可以自动化吗? < li >我应该在PhpStorm的什么地方指定一个版本号来跟踪它?

  • 问题内容: 是否可以在向其添加一些参数数据的同时将请求转发给另一个控制器?我尝试添加到ModelMap中,但是它似乎不存在问题。我正在做类似的事情: 我能想到的唯一其他方法是将参数放在会话上,然后将其弹出目标控制器。 问题答案: 最简单的方法是将数据添加到请求中。 由于这是转发,因此将相同的请求传递到服务器内的不同处理程序。 作为示例,让我们从两个控制器的简单设置开始,一个转发到另一个: 添加数据

  • 问题内容: 我有一个尝试发送的HTTP GET请求。我尝试通过首先创建一个对象并将参数添加到该对象,然后调用我的对象,来将参数添加到此请求中。此方法失败。但是,如果我手动将参数添加到URL中(即append ),它将成功。 我知道我在这里缺少任何东西,任何帮助将不胜感激。 问题答案: 我使用NameValuePair和URLEncodedUtils列表创建所需的url字符串。