2017-06-21 48 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

相关问题