通过 Selenium EdgeOptions 禁用 MS Edge JSON 查看器

Disable MS Edge JSON Viewer via Selenium EdgeOptions

提问人:Maiasa Liger 提问时间:8/29/2023 最后编辑:Maiasa Liger 更新时间:8/30/2023 访问量:500

问:

最近的 Edge 更新导致大量基于 Selenium 的集成测试失败,原因是 JSON 查看器,显然现在默认启用。它不再简单地呈现文件内容,而是添加了大量嵌套的 s。<pre><div>

禁用 JSON 查看器将恢复功能,我想可以通过 .但是,我无法找出如何调用 JSON 查看器的选项。EdgeOptions

我的配置:

EdgeOptions options = new EdgeOptions();

Map<String, Object> prefs = new HashMap<>();
prefs.put("download.default_directory", TMP_DIRECTORY.toString());
prefs.put("download.directory_upgrade", true);
// prefs.put(<enable json viewer>, false); <-- what I would like to add

options
    .setExperimentalOption("prefs", prefs)
    ...

编辑:根据彭旭东的回复解决如下:

EdgeOptions options = new EdgeOptions();

Map<String, Object> prefs = new HashMap<>();
prefs.put("download.default_directory", TMP_DIRECTORY.toString());
prefs.put("download.directory_upgrade", true);

List<String> arguments = new ArrayList<>();
arguments.add("--disable-features=msEdgeJSONViewer");

options
    .setExperimentalOption("prefs", prefs)
    .addArguments(arguments)
    ...
selenium-chromedriver 微软边缘 selenium-edgedriver

评论


答:

1赞 Xudong Peng 8/30/2023 #1

如果要使用 Selenium 在 Microsoft Edge 中禁用 JSON 查看器,只需在 中添加参数,如下所示:EdgeOptions

options.AddArgument("--disable-features=msEdgeJSONViewer");

您可以在以下位置检查它是否有效:edge://versionenter image description here

评论

0赞 Maiasa Liger 8/30/2023
这就像一个魅力,谢谢!