[英]Puppeteer hanging on page.click()
我有以下代码,但有时它会挂在 page.click(clickSelector) 上,我必须重新启动该过程。 我试图确保它可以在后台运行而不受干扰。
let clickAndWaitForTarget = async (clickSelector, page, browser) => {
try {
await page.waitForSelector(clickSelector, { timeout: 60000 });
} catch (error) {
console.log('SELECTOR ' + clickSelector + ' NOT FOUND IN 60 SECONDS');
return null;
}
const pageTarget = page.target();
console.log("SELECTOR FOUND! LET'S ROLL...");
await page.click(clickSelector); // HANGING HERE
console.log('CLICKED IT');
try {
const newTarget = await browser.waitForTarget(
target => target.opener() === pageTarget,
{ timeout: 45000 }
);
const newPage = await newTarget.page();
return newPage;
} catch {
return null;
}
};
有任何想法吗? 我正在使用 Puppeteer 2.0.0 版
你可以试试这个。
await Promise.all([
page.waitForNavigation(waitOptions),
page.click(selector, clickOptions),
]);
我认为它有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.