在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实例中。
即使您能够从已经启动的ChromeDriver和Chrome浏览会话中提取ChromeDriver和ChromeSession属性,例如Session ID、Cookies,UserAgent以及其他会话属性,您仍然无法更改铬浏览会话的属性集。
更干净的方法是在tearDown(){}
方法中调用driver.quit()
,以关闭并销毁当前ChromeDriver和Chrome浏览器实例,然后使用新的一组配置跨越一组新的ChromeDriver和Chrome浏览器实例。
tl;dr
你可以在中找到一些相关的讨论
- 更改现有网络驱动程序中的ChromeOptions