如何通过Selenium在Edge上加载扩展?

时间:2018-02-19 18:40:30

标签: selenium extension-methods microsoft-edge

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

  • 我的扩展程序文件是appx文件。
  • 我已经使用加载chrome的扩展名(带.crx文件),我想对Edge做同样的事情,但它的工作方式不同。

Chrome示例:

https://your_host.com/app_dev.php

边:

php bin/console cache:clear -e prod

但Edge的“addExtensions”不存在。

2 个答案:

答案 0 :(得分:0)

对于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供驱动程序在启动浏览器之前加载扩展。

答案 1 :(得分:0)

对于Selenium版本3.141.0和Appium beta 4.0.0.5,实际上在边缘选项类中添加了“ AddExtension”方法。