【问题标题】:How to load extension on Edge by Selenium?如何通过 Selenium 在 Edge 上加载扩展?
【发布时间】:2018-07-30 01:13:55
【问题描述】:

如何使用 Selenium 在 Edge 中加载扩展?

  • 我的扩展文件是 appx 文件。
  • 我已经处理过加载 chrome 的扩展程序(使用 .crx 文件),我想对 Edge 执行相同的操作,但效果不一样。

Chrome 示例:

ChromeOptions options = new ChromeOptions();  
options.addExtensions(new File("/path/to/extension.crx"));  
DesiredCapabilities capabilities = new DesiredCapabilities();    
capabilities.setCapability(ChromeOptions.CAPABILITY, options);  
ChromeDriver driver = new ChromeDriver(capabilities);  

边缘:

EdgeOptions options = new EdgeOptions();

但 Edge 不存在“addExtensions”。

【问题讨论】:

  • 已经看到了。从 2016 年开始,这是一个非常古老的答案。从那时起,edge 已经在他们的浏览器上进行了扩展。
  • 我还在 Edge 支持门户上发现,他们在 2016 年还没有创建这个侧载。所以我认为它现在可能在 2018 年准备就绪,并且有人知道如何使用它......

标签: selenium extension-methods microsoft-edge


【解决方案1】:

对于 Edge,它有点不同。如果你有扩展的解压版本会更好。因此,如果您拥有扩展程序,那么该解决方案将适合您。你可以试试下面的代码:

const EDGE_DRIVER = require ('selenium-webdriver/edge');
const extension_dir = ["C:\\Users\\divyanshu_juneja\\AppData\\Local\\Packages\\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\\LocalState\\My_Extension"];
const service = new EDGE_DRIVER.ServiceBuilder().setPort(55555).build();
let options = new EDGE_DRIVER.Options();
options.set("extensionPaths", extension_dir);
let driver = EDGE_DRIVER.Driver.createSession(options, service);
driver.get('http:/google.com/');

这里有几点需要注意:

  1. 该扩展应该只在该特定路径中,只需将您的用户名替换为我的,并将 My_Extension 替换为您的扩展的解压缩版本(而不是 .appx)。
  2. 您需要使用set 函数并提供字符串extensionPaths 以便驱动程序在浏览器启动之前加载扩展。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-07
    • 2021-11-27
    • 2018-03-30
    • 1970-01-01
    • 1970-01-01
    • 2015-08-09
    • 2016-12-12
    • 1970-01-01
    相关资源
    最近更新 更多