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

如何通过Bash获取Chrome Developer Tools显示的完整网页HTML?

解决curl无法获取动态渲染网页内容的问题

你的问题核心在于:这个网站的选择题题目和选项是通过JavaScript动态渲染生成的,而curl只能获取服务器返回的初始静态HTML代码,不会自动执行页面中的JS逻辑,所以拿不到那些动态加载的内容。

下面是几个可行的解决方法:

1. 使用Headless Chromium/Chrome直接渲染页面

这是最直接的方案,用无头浏览器(无图形界面的浏览器)加载页面并执行JS,最后导出完整的HTML:

第一步:安装Chromium

根据你的系统选择安装方式:

  • Ubuntu/Debian:sudo apt update && sudo apt install chromium-browser
  • macOS:brew install chromium
  • Windows:从官网下载后配置好环境变量

第二步:修改bash脚本

把原来的curl命令替换为以下内容:

#!/bin/bash

url="https://www.trivianerd.com/random-trivia-generator"
output_file="trivia3.txt"

# 用headless Chromium渲染页面并导出完整HTML
chromium-browser --headless --disable-gpu --dump-dom "$url" > "$output_file"

echo "Data fetched and saved to $output_file"

运行这个脚本后,生成的trivia3.txt就会包含浏览器Inspect模式下看到的完整内容,包括题目和选项。

2. 使用Playwright(更灵活的自动化工具)

如果需要后续做更复杂的页面操作,Playwright是更合适的选择,它支持多种浏览器内核:

第一步:安装Playwright

npm install -g playwright
playwright install chromium

第二步:编写bash调用脚本

#!/bin/bash

url="https://www.trivianerd.com/random-trivia-generator"
output_file="trivia3.txt"

# 用Playwright获取渲染后的完整HTML
playwright evaluate --browser=chromium --headless "$url" "document.documentElement.outerHTML" > "$output_file"

echo "Data fetched and saved to $output_file"

额外提示

  • 无头浏览器首次运行可能稍慢,因为需要加载浏览器内核和页面资源
  • 如果遇到网站反爬限制,可以添加User-Agent参数模拟普通浏览器,比如给Chromium命令追加:--user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 13:28:35