如何在文件中的 RPi javascript 之后获得完整的 html

How to get the complete html AFTER javascript on RPi in a file

我有一个树莓派 4,我想通过终端生成一个 website.html 具有完整呈现的 html 网页。 例如,我想这样做是为了在整个页面中搜索字符串或模式等... 我可以使用 wgetcurl 之类的东西来做到这一点,例如 wget -O website.html https://www.example.com 以上就是我想要的,但是它不支持 javascript.

一些网站(比如Google)几乎所有的东西都在javascript,所以我无法通过这种方式获得最终的html。

难道没有像 wget 这样的 'easy' 解决方案也可以 javascript 吗? 难道没有一个简单的workflow/instructions来实现这样的事情吗?

如果你能告诉我一些工作命令来做到这一点,请告诉我。我发现有些工具非常复杂,而且我并不熟悉所有的编程语言才能完成这项工作。

如有任何帮助,我们将不胜感激。

如果您安装了 Node.js 和 Puppeteer,您可以使用这个简单的脚本来执行 HTML 和 JavaScript。用作:

node script.js url pagename

出于测试目的,默认url'http://example.com/',默认pagename是当前目录下的'page-timestamp.html'

const fs = require('fs');
const puppeteer = require('puppeteer');

const url = process.argv[2] || 'http://example.com/';
const path = process.argv[3] || `page-${Date.now()}.html`;

(async function main() {
  const browser = await puppeteer.launch();
  const [page] = await browser.pages();

  await page.goto(url, { waitUntil: 'networkidle0' });
  fs.writeFileSync(path, await page.content());

  await browser.close();
})().catch(console.error);