我们有的时候使用Selenium会希望能够限制图片和Javascript执行,从而提高网页加载速度。
先上python代码:
from selenium import webdriver
options=webdriver.ChromeOptions()
prefs={
'profile.default_content_setting_values': {
'images': 2,
'javascript':2
}
}
options.add_experimental_option('prefs',prefs)
browser = webdriver.Chrome(chrome_options=options)
browser.get('http://www.c's/')
讲讲为什么这么做?
看下官方文档:
https://sites.google.com/a/chromium.org/chromedriver/capabilities
从prefs一栏知,我们可以通过方法来修改chrome浏览器的用户设置参数来实现禁用。
(其实就相当于模拟用户设置浏览器罢了,比如你不想要加载图片你可以在浏览器的设置里禁用对吧,现在就通过代码来设置参数)
我们先在浏览器地址中输入chrome://version/ ,查看谷歌浏览器的个人资料路径
个人资料路径 | C:\Users\Karwik\AppData\Local\Google\Chrome\User Data\Default |
到这个路径下,打开Preferences文件,按Ctrl+F尝试搜索 default_content,搜不到任何内容。
此时我们到Chrome里的内容设置里禁用图片和Javascript,再尝试到Preferences文件中搜索default_content,就会发现:
所以,我们就明白了吧:
要禁用图片和JS其实就是设置Preferences文件中的default_content_setting_values!!
prefs={
'profile.default_content_setting_values': {
'images': 2,
'javascript':2
}
}
就是在这里通过字典设置,key为2就是禁用的意思。
其它一些参数也可以通过这个方法设定