如何在 geckodriver 中永久安装扩展

use*_*654 3 firefox selenium firefox-addon selenium-webdriver geckodriver

我需要使用扩展来测试 Firefox。我想自动化测试并访问几个网站。

我安装了 Selenium,它在geckodriver. 但是,扩展名不存在。我可以手动安装它,about:debugging但问题是我希望 Selenium 测试在扩展已经存在时启动 gecko 驱动程序。这该怎么做?如何geckodriver在我geckodriver从 selenium启动时永久安装扩展程序?

编辑: 我还尝试从 Firefox 扩展网站安装扩展(将其添加到浏览器)。它被添加但是一旦我关闭壁虎窗口,扩展名就会在下一次运行中消失。如何永久安装?

Cor*_*erg 5

注意:OP 没有指定语言,所以这个答案是针对 Python 的。其他 Selenium WebDriver 语言绑定具有用于创建配置文件和添加扩展的类似机制。


您可以在每次实例化驱动程序时安装扩展。

首先,从https://addons.mozilla.org下载您想要的扩展程序(XPI 文件)。

然后,在您的代码中...创建一个FirefoxProfile()并使用该add_extension()方法添加扩展。然后您可以使用该配置文件实例化驱动程序。

例如,这将使用新创建的包含“HTTPS Everywhere”扩展名的配置文件启动 Firefox:

from selenium import webdriver

profile = webdriver.FirefoxProfile() 
profile.add_extension(extension='https_everywhere-2019.1.31-an+fx.xpi')
driver = webdriver.Firefox(firefox_profile=profile) 
Run Code Online (Sandbox Code Playgroud)