我有一个Selenium程序运行Chrome/Firefox网络驱动程序,每个浏览器上都有我的扩展。该扩展是通用的,每次程序运行时,它都会使用localStorage向扩展加载不同的配置。
流程是:
启动安装了扩展的web驱动程序。
导航到具有扩展范围的网页:在Firefox-moz-extension://870f3a82-b6d0-7c40-a261-a9ae20fabc7d/manifest.json中的Chrome - chrome:chrome-extension://eebpfcjkplahlajlfagjnopfnhjngnje/startup.png中
运行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驱动程序和扩展之间共享数据的方法。
发布于 2019-05-10 05:57:11
解决这一问题的方法是将Firefox版本升级到61.0.2,最新版本的扩展API与Chrome相同,并按预期工作。
https://stackoverflow.com/questions/48006926
复制相似问题