Python,Selenium:如何指定哪些站点可以加载图像



在Selenium chromdriver中,我们可以通过以下方式禁用图像:

from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
prefs = {"profile.managed_default_content_settings.images": 2}
chrome_options.add_experimental_option("prefs", prefs)
driver = webdriver.Chrome(chrome_options=chrome_options)

但这种方法禁用所有网站上的图像。在Google Chrome中,您可以单独指定可以加载图像的网站列表。

硒有可能做到这一点吗?

,除非重新初始化ChromeDriver和谷歌chrome ,否则您将无法按站点以不同方式配置ChromeOptions

当您在启动新的Chrome浏览会话的过程中使用ChromeOptions()配置ChromeDriver实例时,配置会被烘焙到ChromeDriver服务实例中,并将持续到WebDriver的生命周期不可编辑。因此,您无法将任何ChromeOptions添加到当前正在执行的WebDriver实例中。

即使您能够从已经启动的ChromeDriverChrome浏览会话中提取ChromeDriverChromeSession属性,例如Session IDCookiesUserAgent以及其他会话属性,您仍然无法更改铬浏览会话的属性集。

更干净的方法是在tearDown(){}方法中调用driver.quit(),以关闭销毁当前ChromeDriverChrome浏览器实例,然后使用新的一组配置跨越一组新的ChromeDriverChrome浏览器实例。


tl;dr

你可以在中找到一些相关的讨论

  • 更改现有网络驱动程序中的ChromeOptions

最新更新