You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Selenium WebDriver ChromeDriver中禁用图片?代码失效求助

解决Selenium ChromeDriver无法禁用图片的问题

我之前也踩过这个坑!你的代码方向是对的,但Chrome的配置方式在新版本里有一些细节调整,而且直接用withCapabilities传递偏好设置有时候会被默认配置覆盖,导致图片还是会加载。下面给你两个可靠的解决方案:

方案一:使用ChromeOptions设置用户偏好(推荐)

现在Selenium更推荐用ChromeOptions来管理Chrome的启动配置,这样能更稳定地应用你的偏好设置。修改后的代码如下:

const { Builder } = require('selenium-webdriver');
const chrome = require('selenium-webdriver/chrome');
require('chromedriver');

(async function disableImages() {
  // 创建Chrome选项实例
  const chromeOptions = new chrome.Options();
  
  // 设置禁用图片的用户偏好:2代表阻止加载
  chromeOptions.setUserPreferences({
    'profile.default_content_settings.images': 2
  });

  let driver = await new Builder()
    .forBrowser('chrome')
    .setChromeOptions(chromeOptions) // 用setChromeOptions传递配置
    .build();

  try {
    await driver.get('https://www.google.com/search?tbm=isch&q=batman');
    // 等待几秒验证效果
    await driver.sleep(5000);
  } catch (err) {
    console.error('出错了:', err);
  } finally {
    await driver.quit();
  }
})();

方案二:添加命令行启动参数(双重保险)

如果方案一还是没生效,可以试试直接给Chrome添加命令行参数,强制禁用图片渲染:

const { Builder } = require('selenium-webdriver');
const chrome = require('selenium-webdriver/chrome');
require('chromedriver');

(async function disableImages() {
  const chromeOptions = new chrome.Options();
  
  // 方案一的偏好设置 + 命令行参数双重保障
  chromeOptions.setUserPreferences({
    'profile.default_content_settings.images': 2
  });
  chromeOptions.addArguments('--blink-settings=imagesEnabled=false');

  let driver = await new Builder()
    .forBrowser('chrome')
    .setChromeOptions(chromeOptions)
    .build();

  try {
    await driver.get('https://www.google.com/search?tbm=isch&q=batman');
    await driver.sleep(5000);
  } catch (err) {
    console.error('出错了:', err);
  } finally {
    await driver.quit();
  }
})();

为什么你的原代码没生效?

  • 原代码直接用withCapabilities传递配置,在Selenium 4+版本中,这种方式的优先级低于ChromeOptions,容易被Chrome的默认配置覆盖。
  • 部分旧文档里的default_content_setting_values.images路径已经过时,现在Chrome更认可profile.default_content_settings.images这个路径。

内容的提问来源于stack exchange,提问作者Native Coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:57:57