【问题标题】:How to enable caching for Selenium's webdriver Firefox?如何为 Selenium 的 webdriver Firefox 启用缓存?
【发布时间】:2015-11-27 23:50:47
【问题描述】:

每次我运行webdriver.Firefox.get('someurl)code 时,都会显示一个新的 Firefox 驱动程序,并且它不会缓存它加载的任何网页。我想让 Selenium 告诉每个加载到缓存网页的 Firefox,以便将来使用,他们不必从一开始就加载每个网页。我该怎么做?

def setup(self):
        print 'running fp'
        self.path = r'path to my profile folder'
        self.profile = webdriver.FirefoxProfile(self.path)
        self.web = webdriver.Firefox(self.profile)
        self.cache = self.web.application_cache

【问题讨论】:

    标签: python firefox selenium


    【解决方案1】:

    如何使用适当的缓存设置创建一个新的 Firefox 配置文件,然后将其与 Selenium 一起使用?

    看看这个:http://www.toolsqa.com/selenium-webdriver/custom-firefox-profile/

    然后在你的Python 脚本中:

    from selenium import webdriver
    
    firefox_profile = webdriver.FirefoxProfile('path_to_your_profile')
    browser = webdriver.Firefox(firefox_profile)
    cache = browser.application_cache
    

    【讨论】:

    • 谢谢,但是没有用。浏览器仍然从一开始就加载相同的网页,并且不使用缓存。我将更新我的帖子以获取示例代码。
    • 您究竟是如何检查页面不是从缓存中加载的?当您将about:cache 粘贴到 Firefox 地址栏时,您能找到缓存的内容吗?您的网站是否禁止缓存 (<META HTTP-EQUIV="Pragma" CONTENT="no-cache">)?
    • 我通过带宽监控软件进行了检查。假设一个页面需要 7 mb,在将这些设置应用到 Selenium 后,需要 7 mb 才能再次加载页面。请帮助我很沮丧,谢谢。顺便说一句,该网站不会像我看起来那样禁止缓存根据你所说的进入它的源代码。我只希望 Selenium 网络驱动程序的 Firefox 的行为和行为与我用于浏览的普通 Firefox 一样,而不是 Selenium 专用的不同网络驱动程序。
    猜你喜欢
    • 1970-01-01
    • 2015-02-28
    • 1970-01-01
    • 2014-01-20
    • 1970-01-01
    • 1970-01-01
    • 2014-05-06
    • 2017-04-26
    • 2021-06-08
    相关资源
    最近更新 更多