nodejs/express 并且在 html 文件中完成了我的 puppeteer 代码的 puppeteer 检测

nodejs/express and puppeteer detect with my puppeteer code is completed inside of the html file

我正在使用 nodejs/puppeeteer 和一条小路线 api。我只是想看看木偶脚本何时完成。完成后,我想在我的 HTML 页面中显示一些内容。不确定我需要在路线上修改什么。我只知道完成后我需要 return 数据并以某种方式检查 html 页面?

const express = require('express')
const puppeteer = require('puppeteer');
const bodyParser = require('body-parser');
const app = express()
const port = 1000


app.use(bodyParser.urlencoded({
  extended: true
}));
app.use(express.static('public'));


const goToSite = async(url) => {
  const browser = await puppeteer.launch({
    headless: false
  });

  const page = await browser.newPage();

  await page.waitFor(1000);
};

app.get('/', (req, res) => {
  res.sendFile(__dirname + '/index.html');
})

app.post('/puppeteer', (req, res) => {

  goToSite(req.body.url);
})

只需使用 response object res 发送完成后的内容:

const goToSite = async (url, res) => {
  const browser = await puppeteer.launch({
    headless: false
  });

  const page = await browser.newPage();

  await page.waitFor(1000);
  page.evaluate(() => {
    const div = document.createElement('div');
    div.innerHTML = 'done';
    document.body.appendChild(div);
  });

  const html = await page.content();
  res.send(html);
  res.end();
};

app.post('/puppeteer', (req, res) => {
  goToSite(req.body.url, res);
});