puppeteer : 导航后等待 ajax 呼叫
puppeteer : wait for ajax call after navigation
所以在我的代码中,我提交了一个表单,等待导航并提交第二个表单...这是棘手的部分...在第二次提交之前,一些数据将被加载到 ajax
我想等待那些 ajax 调用完成然后提交第二个表单
这是我的代码的简化版本
await Promise.all([
page.click('#form1_submit'),
page.waitForNavigation(),
])
if (!await page.$("#form2_element"))
throw new Error(' ELEMENT MISSING 2 ');
await page.$eval('#form2_element', (el, data) => el.value = data.value , data);
await Promise.all([
page.click('#form2_submit'),
page.waitForNavigation(),
])
之后
await Promise.all([
page.click('#form1_submit'),
page.waitForNavigation(),
])
我怎么能说等待 ajax 电话?我试过了
await Promise.all([
page.click('#form1_submit'),
page.waitForNavigation({ waitUntil: "networkidle0" }),
])
但它没有工作并且在 ajax 调用完成之前提交
如果您想在 AJAX 调用后等待数据显示,我会从另一个线程向您指出我对这个主题的回答:
希望这对您有所帮助!
所以在我的代码中,我提交了一个表单,等待导航并提交第二个表单...这是棘手的部分...在第二次提交之前,一些数据将被加载到 ajax
我想等待那些 ajax 调用完成然后提交第二个表单
这是我的代码的简化版本
await Promise.all([
page.click('#form1_submit'),
page.waitForNavigation(),
])
if (!await page.$("#form2_element"))
throw new Error(' ELEMENT MISSING 2 ');
await page.$eval('#form2_element', (el, data) => el.value = data.value , data);
await Promise.all([
page.click('#form2_submit'),
page.waitForNavigation(),
])
之后
await Promise.all([
page.click('#form1_submit'),
page.waitForNavigation(),
])
我怎么能说等待 ajax 电话?我试过了
await Promise.all([
page.click('#form1_submit'),
page.waitForNavigation({ waitUntil: "networkidle0" }),
])
但它没有工作并且在 ajax 调用完成之前提交
如果您想在 AJAX 调用后等待数据显示,我会从另一个线程向您指出我对这个主题的回答:
希望这对您有所帮助!