【发布时间】:2020-05-17 12:34:44
【问题描述】:
当在 TypeScript 和 Jest 上下文中使用 selenium 和 geckodriver 运行 Firefox 时,我想在 Firefox 中安装自定义 XPI 文件。
测试脚本的重要部分is this:
let driver: webdriver.WebDriver;
const firefoxExt = path.resolve(__dirname, '..', '..', 'extension', 'firefox.xpi');
const firefoxOptions = new firefox.Options().addExtensions(firefoxExt);
driver = new webdriver.Builder().forBrowser('firefox').setFirefoxOptions(firefoxOptions).build();
我希望 Firefox 能够启动并安装 firefox.xpi 作为插件,但打开的 Firefox 实例中没有插件。 XPI 本身没有问题,因为 XPI 可以手动安装,作为临时扩展,没有问题。此外,XPI 存在于路径中,否则会在 path.resolve 上出错。
为了让其他人重现该问题,我创建了一个包含最小可重现示例的存储库。看到这个回购:https://github.com/slhck/web-extension-selenium-test
请注意,这不是以下内容的重复:
- Cannot load extension using firefox driver selenium when using AddExtension(未答复,已关闭)
- How to install extension permanently in geckodriver(我不想要永久安装,因为 XPI 将在测试套件运行之前更改)
-
How to load extension within chrome driver in selenium with python(我已经在使用
addExtension)
我在 Selenium 本身中创建了一个bug report,但它还没有收到任何活动。
有谁知道问题可能是什么,以及如何解决?
【问题讨论】:
标签: selenium selenium-webdriver firefox geckodriver