Python-Selenium中chromeDriver限制图片和Javascript加载

我们有的时候使用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

Python-Selenium中chromeDriver限制图片和Javascript加载_第1张图片


从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就是禁用的意思。

其它一些参数也可以通过这个方法设定

你可能感兴趣的:(爬虫,selenium)