2015-09-02 49 views
1

每次運行webdriver.Firefox.get('someurl)代碼時,都會顯示一個新的Firefox驅動程序,它不會緩存它加載的任何網頁。我想讓Selenium告訴每個加載到緩存網頁的Firefox,以備將來使用,它們不必從一開始就加載每個網頁。我怎麼做?如何爲Selenium的webdriver 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 

回答

2

如何創建一個新的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 
+0

謝謝,但沒有奏效。瀏覽器仍然從一開始就加載相同的網頁並且不利用緩存。我會更新我的帖子以獲取示例代碼。 –

+2

您是如何確認頁面未從緩存中加載的?當您將'about:cache'粘貼到Firefox地址欄時,能否找到緩存的內容?你的站點是否禁止緩存('')? – dm295

+0

我通過帶寬監控軟件檢查。說如果一個頁面需要7 MB,在將這些設置應用到Selenium之後,需要7 MB再次加載頁面。請幫助我非常沮喪,謝謝。通過他們的方式,該網站並不禁止緩存,因爲我期待根據您所說的內容將其轉換爲源代碼。 我只是想讓Selenium的網絡驅動器的Firefox表現得像我用來瀏覽的普通Firefox一樣,而不是Selenium專門設計的不同網絡驅動器。 –

相關問題