我需要使用一个扩展来测试Firefox。我想自动化测试并访问几个网站。
我安装了Selenium,它在geckodriver
中打开。但是,扩展不在那里。我可以从about:debugging
手动安装它,但问题是,我希望Selenium测试在扩展已经存在时启动gecko驱动程序。如何做到这一点?如何在geckodriver
中永久安装扩展,以便当我从Selenium启动geckodriver
时它在那里?
**编辑:**我也尝试从Firefox扩展网站安装扩展(添加到浏览器)。它被添加,但一旦我关闭gecko窗口,扩展在下次运行时消失。如何永久安装它?
4条答案
按热度按时间daolsyd01#
您可以在每次示例化驱动程序时安装扩展。
首先,从以下位置下载所需的扩展名(XPI文件):https://addons.mozilla.org.
然后,在你的代码中...创建一个
FirefoxProfile()
并使用add_extension()
方法添加扩展,然后你可以使用这个配置文件示例化一个驱动程序。例如,这将启动Firefox,其中包含一个新创建的包含"HTTPS Everywhere"扩展名的配置文件:
yqlxgs2m2#
您需要通过指定firefox的配置文件路径来启动带有现有配置文件的geckdriver
对于python,你可以这样做:
对于C#,您可以执行以下操作:
dpiehjr43#
我发现这对我很有帮助:
参考:
[Python语言] https://cyruslab.net/2020/08/26/python-adding-extension-to-geckodriver-with-selenium/
a2mppw5e4#
您可以在特定的 * Firefox配置文件 * 中永久安装扩展/插件并使用它。要实现这一点,您需要按照以下步骤操作:
https://addons.mozilla.org/en-US/firefox/
参考
您可以在以下位置找到一些相关讨论: