aionclaw抓取懒加载内容需模拟滚动或换用渲染引擎:确认滚动触发后,启用agent browser模式强制js执行并滚动到底部;或改用webclaw直接获取服务端渲染html;高级用户可在cli中注入javascript滚动脚本。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你在用 AionClaw 抓取网页内容时,发现正文要向下滚动才加载出来,直接调用 web_fetch 或内置抓取技能返回的却是空段落、导航栏或“加载中”占位符——这不是配置错了,而是页面用了懒加载(Lazy Loading),DOM 节点在首次请求时根本不存在。
确认是否为滚动触发加载
打开目标网页 → 按 Cmd+Opt+I(Mac)或 Ctrl+Shift+I(Windows)调出开发者工具 → 切换到「Network」标签 → 刷新页面 → 观察「Filter」栏输入 fetch 或 xhr → 向下滚动 → 看是否有新的请求发出。如果有,说明是滚动触发型动态加载,必须模拟滚动行为才能让内容进入 DOM。
启用 Agent Browser 模式强制渲染
这是最可靠的方式,AionClaw 内置的 Agent Browser 基于 Chromium,能完整执行 JS、维持登录态、响应滚动事件。
第一步:确认已安装模块 → 打开终端运行 npx clawhub install agent-browser
第二步:启动代理服务 → 执行 npx clawhub start agent-browser,等待输出 Agent Browser listening on http://127.0.0.1:8080
第三步:在 AionClaw 客户端中新建自动化任务 → 选择「浏览器操作」技能 → 输入自然语言指令:打开 https://example.com/article,缓慢向下滚动至页面底部,等待所有图片和段落加载完成,提取全部正文文本
【必须关闭 Chrome 原生窗口】:如果本地已打开 Chrome 并处于登录态,Agent Browser 会复用其用户数据目录;但若手动打开了 Chrome 窗口,可能触发多实例冲突,导致滚动不生效或提取中断。
用 webclaw 替代默认抓取器(免滚动)
webclaw 是专为 AI 工作流设计的 Rust 提取引擎,它不依赖滚动,而是通过 TLS 指纹模拟真实浏览器行为,绕过 Cloudflare 和懒加载检测,直接从服务端获取渲染后 HTML。
方法一:命令行直连(推荐验证用)→ 终端执行:webclaw --url https://example.com/article --output markdown
方法二:集成进 AionClaw 工作流 → 进入「工具管理」→ 点击「添加外部工具」→ 填写路径:/usr/local/bin/webclaw(Mac)或 C:\Program Files\webclaw\webclaw.exe(Windows)→ 保存后,在自动化任务中选择该工具作为「内容提取器」
注意:webclaw 默认不执行 JavaScript,但它能识别并请求由 JS 注入的资源链接(如 JSON API 返回的正文),所以对大多数现代 CMS 页面效果优于 Selenium。
在 OpenClaw CLI 中补滚动逻辑(仅限高级用户)
如果你正在用 OpenClaw 命令行调试,且必须保留 web_fetch 流程,可手动注入滚动脚本。
① 先启用 browser-devtools 支持 → 运行:openclaw config set browser.devtools true
② 构建带滚动的 fetch 指令 → 执行:openclaw skill execute web-scraper --url https://example.com/article --js "window.scrollBy(0, document.body.scrollHeight); await new Promise(r => setTimeout(r, 2000));"
③ 若页面有“点击加载更多”按钮,需改用更精准定位 → 将上述 --js 参数替换为:document.querySelector('button:contains(加载更多)').click(); await new Promise(r => setTimeout(r, 3000));
这一步需要你提前确认按钮的可稳定定位 selector,【selector 写错会导致整个任务卡死】,建议先在浏览器控制台用 $$(...) 测试是否能唯一命中。











