在 chromedriver 中使用 python 绑定为 selenium 设置 chrome.prefs

2022-01-15 00:00:00 python selenium selenium-chromedriver

问题描述

我整天都在寻找这个,似乎目前没有可用的解决方案可从 python 的 chromedriver 实现中获得.

I have been searching all day for this and it seems that there is no solution currently available from the chromedriver implementation for python.

如何使用 webdriver.Chrome() 方法设置特定的 chrome.prefs(例如 profile.managed_default_content_settings.images = 2 等配置文件设置)?

how do you set specific chrome.prefs (for example profile settings such as profile.managed_default_content_settings.images = 2) using the webdriver.Chrome() method?

我已经通过 webdriver.ChromeOptions() 尝试过,但没有成功.在 Java 中,有适当的函数可以实现这一点.

I already tried it through webdriver.ChromeOptions() without success. In Java there are appropriate functions available to achieve this.

但是 Python 呢?这就是我目前正在做的事情......

But Python? This is what I am doing currently...

    options = webdriver.ChromeOptions()
    options.add_argument('--allow-running-insecure-content')
    options.add_argument('--disable-web-security')
    options.add_argument('--disk-cache-dir=/var/www/cake2.2.4/app/tmp/cache/selenium-chrome-cache')
    options.add_argument('--no-referrers')
    options.add_argument('--window-size=1003,719')
    options.add_argument('--proxy-server=localhost:8118')
    options.add_argument("'chrome.prefs': {'profile.managed_default_content_settings.images': 2}")


    self.selenium = webdriver.Chrome(executable_path='/usr/local/bin/chromedriver',chrome_options=options)


解决方案

对于任何想在 chromedriver 中禁用图像的人,以下代码可能会对您有所帮助.

For anyone who want to disable images in chromedriver, the following code might help you.

from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_experimental_option( "prefs", {'profile.default_content_settings.images': 2})
driver = webdriver.Chrome(chrome_options=chrome_options)

相关文章