在我的脚本中有两个函数要等待
// Wait for message to show up
page.waitForFunction("document.querySelector('div#message').textContent.includes('string inside message')")
.then(() => {
return res.status(404).json({ success: true, data: null, message: 'Message' });
});
// Wait for result to show up after clicking some button
page.waitForSelector('.result', {
timeout: 180000,
visible: true,
})
.then(() => {});
不知何故,函数waitForFunction
从未运行return res.status(404)
,甚至我看到消息显示并在浏览器控制台中检查该函数。它返回了true
。
如果消息出现,结果将不会出现。如果结果出现,消息将不会出现。
我怎样才能做到这一点?
发布于 2021-12-10 12:20:06
试试这个:
fn="document.querySelector('div#message').textContent.includes('string inside message')"
await page.waitForFunction(fn, {timeout: 2000});
const result = await page.evaluate(fn)
if (result===true)
return res.status(404).json({ success: true, data: null, message: 'Message' });
ps。您需要用:async function
或async () =>
更改您的表达式函数
编辑:
等待page.waitForFunction(‘func.’,{timeout: 2000});
https://stackoverflow.com/questions/70287690
复制相似问题