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

如何配置Selenium ChromeOptions以低资源获取网页标题/头部信息

优化Selenium ChromeOptions以低资源获取动态页面标题/头部标签

你现在用Chrome 129.0.6668.59正式版64位,搭配ChromeDriver 129.0.6668.58,想以最少硬件资源抓取各类网站(Youtube、Instagram、TikTok、博客、新闻等)的标题或h1/h2标签。部分平台的内容靠JS动态加载,没法精准筛选关联JS,只能运行全部可用JS,当前的ChromeOptions配置如下:

ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments(/*"--headless=new", */
    "--disable-web-security",
    "--allow-running-insecure-content",
    "--disable-site-isolation-trials",
    "--disable-popup-blocking",
    "--disable-features=IsolateOrigins,site-per-process",
    "--blink-settings=imagesEnabled=false",
    "--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36",
    "--disable-software-rasterizer",
    "--disable-blink-features",
    "--disable-browser-side-navigation",
    "--window-size=1200,640",
    "--disable-gpu",
    "--disable-notifications",
    "--disable-extensions",
    "--ignore-certificate-errors",
    "--remote-allow-origins=*",
    "--no-sandbox",
    "--disable-dev-shm-usage",
    "--port=" + curPort);
// chromeOptions.setBrowserVersion("latest");
chromeOptions.setPageLoadStrategy(PageLoadStrategy.EAGER);
chromeOptions.setAcceptInsecureCerts(true);
Duration duration = Duration.of(5, ChronoUnit.SECONDS);
chromeOptions.setScriptTimeout(duration);
chromeOptions.setPageLoadTimeout(duration);
chromeOptions.setImplicitWaitTimeout(duration);
chromeOptions.setUnhandledPromptBehaviour(UnexpectedAlertBehaviour.DISMISS_AND_NOTIFY);
curPort++;
if (curPort > MAX_PORT) { curPort = MIN_PORT; }

优化后的ChromeOptions配置

ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments(
    "--headless=new", // 启用新版无头模式,资源占用更低且兼容动态JS
    "--disable-popup-blocking",
    "--blink-settings=imagesEnabled=false", // 禁用图片加载减少资源消耗
    "--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.6668.59 Safari/537.36", // 匹配当前Chrome版本,避免被识别为异常请求
    "--disable-software-rasterizer",
    "--disable-notifications",
    "--disable-extensions",
    "--ignore-certificate-errors",
    "--remote-allow-origins=*",
    "--no-sandbox",
    "--disable-dev-shm-usage",
    "--port=" + curPort,
    "--disable-background-networking", // 禁用后台冗余网络请求
    "--disable-background-timer-throttling",
    "--disable-backgrounding-occluded-windows",
    "--disable-renderer-backgrounding",
    "--disable-default-apps", // 禁用默认应用释放资源
    "--mute-audio", // 静音避免音频加载占用资源
    "--disable-features=Translate,MediaRouter,Autoplay", // 禁用非必要功能
    "--window-size=800,600" // 缩小窗口尺寸降低渲染压力
);

chromeOptions.setPageLoadStrategy(PageLoadStrategy.NORMAL); // 改用NORMAL策略,确保动态JS执行完成
chromeOptions.setAcceptInsecureCerts(true);
Duration duration = Duration.of(10, ChronoUnit.SECONDS); // 延长超时适配动态页面加载
chromeOptions.setScriptTimeout(duration);
chromeOptions.setPageLoadTimeout(duration);
chromeOptions.setImplicitWaitTimeout(duration);
chromeOptions.setUnhandledPromptBehaviour(UnexpectedAlertBehaviour.DISMISS_AND_NOTIFY);

curPort++;
if (curPort > MAX_PORT) { curPort = MIN_PORT; }

关键调整说明

  • 启用新版无头模式:--headless=new是Chrome 112+推出的新版无头模式,比旧版更接近正常浏览器行为,资源占用更低,还能正常执行动态JS,完美适配Youtube、TikTok这类平台的动态内容加载。
  • 修正User-Agent:改成和当前Chrome版本一致的UA,避免被网站识别为爬虫或异常请求导致内容加载失败。
  • 移除不安全冗余参数:删掉--disable-web-security、--allow-running-insecure-content这类降低浏览器安全性的参数,抓标题不需要牺牲安全;同时去掉--disable-blink-features、--disable-browser-side-navigation这类无意义的宽泛禁用项,避免影响必要功能。
  • 调整页面加载策略:把EAGER换成NORMAL,确保页面所有必要JS执行完成,保证动态生成的标题、h1/h2标签能被正确抓取。
  • 增加资源优化项:新增一系列禁用后台活动、非必要功能的参数,缩小窗口尺寸,进一步降低CPU、内存占用。
  • 延长超时时间:把5秒调整为10秒,给动态页面足够的JS执行时间,避免因加载超时导致内容抓取不全。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 03:46:04