如何使用ChromeOptions在Python selenium中禁用CSS

时间:2018-02-28 14:06:26

标签: python css selenium google-chrome selenium-chromedriver

我尝试显示没有CSS的页面以加快加载速度,并且我已设法使用以下代码禁用图像和javascript:

option = webdriver.ChromeOptions()
prefs = {'profile.default_content_setting_values': {'images': 2, 'javascript': 2}}
option.add_experimental_option('prefs', prefs)
driver = webdriver.Chrome(chrome_options = option)

所以,我将{'profile.default_content_setting_values': {'images': 2, 'javascript': 2}}更改为{'profile.default_content_setting_values': {'css': 2},并认为它会禁用CSS,但它不起作用。

我见过很多关于Firefox的答案,现在我想在Chrome中做到这一点。

2 个答案:

答案 0 :(得分:2)

要显示不带 CSS 的页面,以加快页面加载速度,您可以禁用用于存储各个内容设置默认值的Preferences以下解决方案:

  • 代码块:

    from selenium import webdriver
    
    options = webdriver.ChromeOptions()
    prefs = {'profile.default_content_setting_values': {'cookies': 2, 'images': 2, 'javascript': 2, 
                                'plugins': 2, 'popups': 2, 'geolocation': 2, 
                                'notifications': 2, 'auto_select_certificate': 2, 'fullscreen': 2, 
                                'mouselock': 2, 'mixed_script': 2, 'media_stream': 2, 
                                'media_stream_mic': 2, 'media_stream_camera': 2, 'protocol_handlers': 2, 
                                'ppapi_broker': 2, 'automatic_downloads': 2, 'midi_sysex': 2, 
                                'push_messaging': 2, 'ssl_cert_decisions': 2, 'metro_switch_to_desktop': 2, 
                                'protected_media_identifier': 2, 'app_banner': 2, 'site_engagement': 2, 
                                'durable_storage': 2}}
    options.add_experimental_option('prefs', prefs)
    options.add_argument("start-maximized")
    options.add_argument("disable-infobars")
    options.add_argument("--disable-extensions")
    driver = webdriver.Chrome(chrome_options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
    driver.get('https://play.google.com/store')
    
  • 浏览器快照:

Disabling_Preferences_storing_default_values

答案 1 :(得分:0)

不幸的是,在Chrome中无法实现。

ChromeDriver disable rendering and CSS

如果没有Xserver之类的虚拟屏幕,Chrome / chromedriver将无法无头运行,并且无法不渲染 html和css。

允许的所有选项的详尽列表:

profile.default_content_setting_values:

cookies,
images,
javascript,
plugins,
popups,
geolocation,
notifications,
auto_select_certificate,
fullscreen,
mouselock,
mixed_script,
media_stream,
media_stream_mic,
media_stream_camera,
protocol_handlers,
ppapi_broker,
automatic_downloads,
midi_sysex,
push_messaging,
ssl_cert_decisions,
metro_switch_to_desktop,
protected_media_identifier,
app_banner,
site_engagement,
durable_storage