【发布时间】:2018-10-10 05:13:10
【问题描述】:
我对 nodejs 还很陌生,我正在使用 puppeteer 来自动化一些浏览,但是我对某个场景的复杂性有点迷失了。
我单击一个按钮,它会搜索一些记录(使用 ajax)并将结果放在页面上。
Wait for Response / request 不太合适,因为我正在等待 2-3 个请求,具体取决于搜索类型 - 每个请求的响应 URL 完全相同。所以,我想我想等待这个特定 URL 的 3 个 url 响应完成。
也许我需要重新考虑这一点,或者我很接近?承诺总是超时,即使它似乎在增加 responseCount
async function intercepted(resp) {
if (resp.url().includes('/ajaxpro/')) {
return 1
}
return 0
}
let responseCount = 0
page.on('response', async resp => {
responseCount += await intercepted(resp)
})
const getResponse = await new Promise((resolve, reject) => {
setTimeout(() => resolve(responseCount > 3), 60000)
})
【问题讨论】: