如何在Selenium Chrome中开启纯文本模式(仅显示文本、隐藏图片及页面UI)?
解决Chrome仅显示纯文本(禁用图片+隐藏UI样式)的Selenium配置方案
我明白你的需求——要让Chrome彻底变成纯文本阅读器,不仅不加载图片,连UI样式、布局这些视觉元素都去掉,只保留页面的核心文本内容。你之前的配置只处理了图片资源,所以页面的CSS样式依然会加载渲染,导致UI界面还在显示。下面是具体的解决方法:
1. 扩展Chrome偏好设置,禁用非文本核心资源
在你现有的配置基础上,添加对CSS样式表的禁用规则,同时可以根据需求选择禁用其他非必要资源:
from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Options() chrome_prefs = {} # 禁用图片(你已有的配置) chrome_prefs["profile.default_content_settings"] = {"images": 2} chrome_prefs["profile.managed_default_content_settings"] = {"images": 2} # 禁用CSS样式表,这是隐藏UI界面的关键 chrome_prefs["profile.default_content_settings.stylesheets"] = 2 chrome_prefs["profile.managed_default_content_settings.stylesheets"] = 2 # 可选配置:根据需求启用 # 禁用JavaScript(如果页面文本不需要动态加载,可进一步简化) # chrome_prefs["profile.default_content_settings.javascript"] = 2 # 禁用字体加载(减少额外资源请求) # chrome_prefs["profile.default_content_settings.fonts"] = 2 options.experimental_options["prefs"] = chrome_prefs driver = webdriver.Chrome(options=options)
这里把stylesheets的权限设为2(代表禁止加载),浏览器就不会解析和渲染任何CSS样式,页面会自动退化为纯文本的结构展示。
2. 添加Chrome命令行参数强化纯文本模式
为了确保效果更彻底,可以配合添加Chrome启动参数,双重保障非文本资源的禁用:
# 在上述代码的options配置中添加以下参数 options.add_argument("--blink-settings=imagesEnabled=false") # 底层禁用图片加载 options.add_argument("--disable-stylesheets") # 强制禁用样式表 options.add_argument("--disable-plugins") # 禁用插件,避免额外资源加载 options.add_argument("--disable-extensions") # 禁用扩展,减少干扰
这些命令行参数直接作用于Chrome的启动配置,和偏好设置形成互补,能更稳定地实现纯文本显示效果。
3. 效果验证
运行配置后的代码,打开目标页面后,你会看到页面不再有任何布局、样式、图片,只剩下HTML里的纯文本内容,完全符合你想要的仅显示文本的需求。如果还有少量内联样式的残留,可尝试禁用JavaScript(前提是不影响核心文本的加载)。
内容的提问来源于stack exchange,提问作者dlrPaud
相关产品推荐
相关产品推荐

