2017-06-21 74 views
1

我正在使用Python的Selenium框架,我試圖通過在Python代碼中重新使用預先加載在Chrome webdriver中的圖像來實現自動化來節省帶寬。我能夠訪問圖像的源URL,到目前爲止,我只是再次用請求重新裝載它們。我確定普通的瀏覽器可以將圖像保存到硬盤上的臨時位置,我想Chrome驅動程序也是一樣的。我如何使用Selenium訪問這些文件,因爲我知道src?如何在Chrome驅動程序中使用Selenium預加載的圖像?

回答

1

您應該重新使用自己的Chrome個人資料,這樣的事情:

from selenium import webdriver 
from selenium.webdriver.chrome.options import Options 

options = webdriver.ChromeOptions() 
options.add_argument("user-data-dir=C:\\path\\to\\your\\profile") # Path to your chrome profile 
driver = webdriver.Chrome(executable_path="C:\\Users\\chromedriver.exe", chrome_options=options) 

關於路徑,這可以通過在自己的Chrome將chrome://version/來完成,其中一個設置有你的道路,這將會重用您的chrome配置文件,如果目錄爲Default,則可能需要從路徑中刪除最後一個目錄。

如果你想讓自己的配置文件沒有連接到你的chrome,你可以指定你想要的任何路徑,並且selenium會爲你創建它。

+0

謝謝,我能夠找到圖像的配置文件/默認/緩存,但圖像重命名文件擴展名從文件名稱中刪除。新名稱不對應源文件中的原始名稱,或者遵循任何類型的模式。我還嘗試查看臨時文件的創建日期/時間是否對應於任何模式,而不是真的。 – user14042

+0

右鉻緩存圖像並重新命名它們,這是因爲如果頁面Y具有圖像'a.jpg',並且頁面X具有圖像'a.jpg'可能是一個問題,那麼chrome散列圖像名稱以防止這種情況。順便說一句,如果圖像不重要,[禁用它們](https://stackoverflow.com/questions/28070315/python-disable-images-in-selenium-google-chromedriver)! –

+0

無論如何要控制或禁用Chrome的內部行爲? – user14042

相關問題