selenium - 下载 Firefox 扩展(附加组件)而不安装

标签 selenium firefox-addon xpi

如何在没有自动安装的情况下下载 Firefox 扩展(附加组件)?

下面是问题的详细信息:

我正在使用 Selenium 网络驱动程序来做一些“网络测试”的事情。

我需要 Lightbeam 插件在我使用 Selenium 创建的 Firefox 实例上可用。

该方法(在 Java 中)很简单:

FirefoxProfile profile = new FirefoxProfile();
profile.addExtension(new File("lightbeam.xpi"));
WebDriver webDriver = new FirefoxDriver(profile);

但是我找不到一种方法来下载文件“lightbeam.xpi”而不自动安装它......

或者,您可以告诉我在安装完成后在哪里查找 XPI 文件。

我一直找不到它,我怀疑它在完成后立即被删除。

谢谢

最佳答案

例如。为 Lightbeam转到网站并右键单击添加到 Firefox 并选择将链接另存为...这应该适用于所有 addons.mozilla.org 托管的附加组件和大多数非 mozilla 托管的附加组件。如果它不适用于某些站点,您可能很幸运通过 Web 控制台/网络选项卡和/或浏览器控制台嗅探出 XPI 位置。

要为已安装的附加组件获取 XPI,请打开 about:support在选项卡中单击 Show in Finder/*Show Folder* 或您操作系统中的任何按钮。

会有extensions所有非全局扩展所在的子目录。您通常可以复制任何 *.xpi文件没有问题。

可能有一些扩展被解压(是一个子目录)。您通常可以使用您最喜欢的 zip 工具重新压缩这些子目录,但您必须确保 zip 确实包含平面文件( /install.rdf 而不是 somesubdir/install.rdf )。

对于一些附加组件复制 *.xpi周围或重新打包 XPI 可能不起作用。那么你必须获得原始的 XPI。

那些已安装的附加组件可能具有时髦的文件/目录名称。这是附加 ID,它可以是 GUID(旧式)或 @-address(新式)。 about:support包含一个表格,告诉您与附加 ID 对应的名称。

关于selenium - 下载 Firefox 扩展(附加组件)而不安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20978848/

相关文章:

java - 滚动 Selenium 的奇怪行为

javascript - 从 Firefox 扩展获取浏览器版本

javascript - 如何从 FireFox 扩展中的错误获取堆栈跟踪?

firefox-addon - xul 中的嵌套工具栏按钮

firefox - 无法安装该附加组件,因为它似乎已损坏

java - Chromedriver 78可能存在问题,Selenium找不到在Chrome中打开的PDF的Web元素

java - 在 Jenkins 主( headless )节点上使用 native Windows 选择器选择文件

macos - 使用 Visual Studio 进行夜间自动化

python - 是否可以在不使用 cfx 的情况下打包 Firefox SDK 附加组件?

android - 如何在 firefox android 上安装我的 .xpi