簡體   English   中英

阻止在 Selenium 無頭 Chrome [python] 上下載圖像

[英]Block the download of images on Selenium headless Chrome [python]

以下兩個 python 代碼阻止在 selenium 非無頭 chrome 上下載圖像,即在保存的屏幕截圖中圖像不可見。 如果我們取消注釋這兩條注釋行,代碼將不再按預期工作,即圖像在無頭 chrome 瀏覽器保存的屏幕截圖中可見。 如何正確阻止圖像加載到 python 的 selenium 上的無頭 chrome 中?

第一種方法

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

chrome_options = webdriver.ChromeOptions()
chrome_options.add_experimental_option("prefs", {"profile.default_content_settings.images": 2})
chrome_options.add_experimental_option("prefs", {"profile.managed_default_content_settings.images": 2})
# chrome_options.add_argument("--headless")
driver = webdriver.Chrome(options = chrome_options, executable_path = ChromeDriverManager().install())

driver.get('https://www.hdblog.it/page/1/')
driver.save_screenshot('screenshot.png')

第二種方法

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

option = webdriver.ChromeOptions()
chrome_prefs = {}
option.experimental_options["prefs"] = chrome_prefs
chrome_prefs["profile.default_content_settings"] = {"images": 2}
chrome_prefs["profile.managed_default_content_settings"] = {"images": 2}
# option.headless = True
driver = webdriver.Chrome(options=option, executable_path = ChromeDriverManager().install())

driver.get('https://www.hdblog.it/page/1/')
driver.save_screenshot('screenshot.png')

無頭瀏覽器不支持首選項

截至 2021 年 2 月

https://bugs.chromium.org/p/chromedriver/issues/detail?id=1925

Headless chrome 不支持首選項設置。 您只能使用命令行 arguments。

支持的 arguments 的完整列表是:

https://peter.sh/experiments/chromium-command-line-switches/

在這里你可以看到 --blink-settings 所以,

嘗試

chrome_options.add_arguments('--blink-settings=imagesEnabled=false')

可以在此處訪問完整的閃爍設置:

https://chromium.googlesource.com/chromium/blink/+/master/Source/core/frame/Settings.in

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM