首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过Selenium在Edge上加载扩展?

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

Stack Overflow用户
提问于 2018-02-19 18:40:29
回答 1查看 2.8K关注 0票数 1

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

  • 我的扩展名是appx文件。
  • 我已经处理过加载chrome的扩展名(使用.crx文件),我也想对边缘做同样的工作,但它的工作方式不同。

Chrome示例:

代码语言:javascript
复制
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);  

边缘:

代码语言:javascript
复制
EdgeOptions options = new EdgeOptions();

但是边缘并不存在"addExtensions“。

EN

回答 1

Stack Overflow用户

发布于 2018-08-23 09:05:08

对边缘来说,有点不同。如果你有解压版的扩展,那就更好了。因此,如果您拥有扩展,那么解决方案将对您有效。您可以尝试使用以下代码:

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48872319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档