javascript - 无头 Chrome 执行 Javascript
问题描述
我想在服务器端渲染我的 React Application。所以请求首先到达我的 Web 服务器(用 Rust 编写)。我汇总了生成 html 所需的所有数据。
之后,我想使用无头 Chrome 执行我的 React 应用程序。
无头 chrome 的每个示例都向我展示了“导航到页面”。
以 Nodejs 为例,使用 Puppeteer 库
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://news.ycombinator.com', {waitUntil: 'networkidle2'});
await page.pdf({path: 'hn.pdf', format: 'A4'});
await browser.close();
})();
我不想导航到 URL,而只想使用无头 Chrome 作为 JavaScript 引擎,由 JavaScript 执行它。
我看了看,但无处可以找到这样的例子。
解决方案
好吧,快速浏览一下pupette API就可以看到:
page.evaluate(pageFunction[, ...args])
pageFunction <function|string> Function to be evaluated in the page context
...
API 的确切链接:https ://github.com/puppeteer/puppeteer/blob/v3.1.0/docs/api.md#pageevaluatepagefunction-args
推荐阅读
- c# - C# Aforge 库和保存位图分辨率?
- angular - Angular 5 - 将带有 HTML 内容的 POST 请求发送到 OneNote API
- c++ - C++ 将 int 转换为 wchar_t*
- angular - 用于在角度 2、4 中构建树状结构的节点模块
- javascript - 如何在特定区域填充颜色?
- jquery - 将 base64 编码的 src 设置为插件 jquery
- python - 无法制作一个不和谐的机器人来直接向@提到的用户发送消息
- java - SingleThreadExecutor VS plain thread
- android - 如何使用 TextView Search 在 recyclerview 中加载更多内容?
- python-2.7 - 如何在 quick_form 烧瓶引导程序中将类添加到标签