我让 Puppeteer 使用可以返回结果或“未找到记录”消息的查找表单控制网站。我怎么知道哪个被退回了?
waitForSelector 似乎一次只等待一个,而 waitForNavigation 似乎不起作用,因为它是使用 Ajax 返回的。
我正在使用 try catch,但要正确并减慢一切速度很棘手。
try {
await page.waitForSelector(SELECTOR1,{timeout:1000});
}
catch(err) {
await page.waitForSelector(SELECTOR2);
}
最佳答案
使任何元素存在
您可以使用 querySelectorAll
和 waitForFunction
一起来解决这个问题。使用带逗号的所有选择器将返回与任何选择器匹配的所有节点。
await page.waitForFunction(() =>
document.querySelectorAll('Selector1, Selector2, Selector3').length
);
现在这只会返回 true
如果有一些元素,它不会返回哪个选择器匹配了哪些元素。
关于javascript - 多个选择器上的 Puppeteer waitForSelector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49946728/