繁体   English   中英

Puppeteer 挂在 page.click() 上

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM