如何在使用python selenium创建Firefox配置文件后将其保存并重用到磁盘?

时间:2017-12-13 05:10:06

标签: python selenium firefox automation

我正在使用Windows机器上的selenium / geckodriver进行网络抓取。 我的create_driver函数定义了一个特定的Firefox配置文件:

def create_driver()
    firefox_profile = webdriver.FirefoxProfile()                        # Disable CSS
    firefox_profile.set_preference('permissions.default.stylesheet', 2) # Disable images
    firefox_profile.set_preference('permissions.default.image', 2)      # Disable Flash
    driver = webdriver.Firefox(firefox_profile=firefox_profile)         # Create driver
    return driver

driver = create_driver()

但是,对于每次运行,Firefox都会在C:/User/Appdata/Local/temp中创建一个新的400 KB配置文件(tmpaddon-xxxxxx,见下图):

这显然会产生我需要摆脱的巨大开销。 我知道可以使用Firefox Profile Manager手动创建配置文件。那些可以与硒一起使用,如解释here。但是,我还没弄清楚如何创建&使用python填充这些配置文件。

Q1:如何保存和重用一个Firefox配置文件,其中包含已在python中定义的规格到磁盘?

Q2:如何阻止Firefox在每个驱动程序实例运行后自动保存配置文件?

Firefox profile files

1 个答案:

答案 0 :(得分:2)

这样的事情应该有效:

Date        d0  d1  d2  d3  d4  d5  d6  d7  d8  d9
2017-11-01  0   0   0   0   0   0   0   0   0   0

2017-11-02  1   0   0   0   0   0   0   0   0   0

2017-11-03  1   0   0   0   0   1   0   0   1   0

2017-11-04  0   0   0   0   0   0   0   0   0   0

2017-11-05  0   0   0   0   0   0   0   0   0   0

2017-11-06  1   0   0   0   0   0   0   0   0   0

2017-11-07  0   0   0   0   0   0   0   0   0   0

2017-11-08  1   0   0   0   0   0   0   0   0   0

2017-11-09  0   0   1   0   0   0   0   0   0   0

2017-11-10  0   0   0   0   0   0   0   0   0   0

2017-11-11  0   0   0   0   0   0   0   0   0   0

2017-11-12  0   0   0   0   0   0   0   0   0   0