来自firefox扩展范围

时间:2017-12-28 11:46:49

标签: javascript selenium selenium-webdriver google-chrome-extension firefox-addon

我有一个运行Chrome / Firefox网络驱动程序的Selenium程序,每个浏览器都有我的扩展程序。扩展名是通用的,每次程序运行时,都会使用localStorage将不同的配置加载到扩展名。

流程为:

启动安装了扩展程序的Web驱动程序。

导航到扩展程序范围的网页:在Chrome中 - Chrome:chrome-extension://eebpfcjkplahlajlfagjnopfnhjngnje/startup.png在Firefox中 - moz-extension:// 870f3a82-b6d0-7c40-a261- a9ae20fabc7d / manifest.json中

运行js代码:

localStorage.setItem('blocks', JSON.stringify({urls:['https://*/*css*','http://*/*css*','https://*/*png*','http://*/*png*']}));

然后,扩展程序将与新添加的值同步到localStorage并执行操作。

Chrome中的一切都很棒。在Firefox中,我无法在扩展程序的范围页面上运行js代码,我收到以下错误:

SecurityError: The operation is insecure.

我知道FF改变了他们在上一版本中扩展的整个API,我想知道实现目标的正确方法是什么。

总的来说,我正在寻找一种在selenium网络驱动程序和扩展程序之间共享数据的方法。

1 个答案:

答案 0 :(得分:0)

解决方案是将Firefox版本升级到61.0.2 在最新版本中,扩展程序API与Chrome中的相同,并且可以正常工作。