问题描述
我正在尝试通过网络抓取每个得分变化的实时得分。木偶可以这样做吗?如果可以,我应该在这段代码中添加些什么,以便它返回实时数据。
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('site to go');
await page.waitForSelector('input[name="username"]');
await page.type('input[name="username"]','username');
await page.type('input[name="password"]','password');
await page.click('button[type="submit"]');
let score = await page.evaluate(() => document.getElementById("scores").innerHTML);
})();
解决方法
您可以使用{owner: ""}
注册一个回调函数:
exposeFunction
然后您可以在await page.exposeFunction('newScore',s => console.log(s));
事件上调用该函数:
DOMSubtreeModified