Puppeteer跳转新URL时触发net::ERR_ABORTED错误求助
解决Puppeteer中net::ERR_ABORTED错误的方案
你的代码里有两个关键问题导致了这个错误:
- 第一个
page.goto(urlOne)没有加await,页面还没加载完成就开始执行后续的元素等待、输入操作,整个流程的时序彻底乱了。 - 点击提交按钮后页面大概率会跳转,你虽然等了
.Q0LJY元素,但最后跳转urlTwo时还是没加await,而且之前的页面导航可能还没彻底完成,这时候发起新的goto请求会直接中断之前的导航,触发net::ERR_ABORTED。
修复后的代码如下:
// 等待第一个页面加载完成 await page.goto(urlOne); await Promise.all([ page.waitForSelector('#email') ]); await page.type('#email', 'email'); await page.type('#password', 'password'); // 点击提交后,同时等待页面跳转完成,避免时序问题 await Promise.all([ page.click('[type="submit"]'), page.waitForNavigation() ]); await page.waitForSelector('.Q0LJY'); // 等待跳转到第二个页面的操作完成 await page.goto(urlTwo);
额外提示:点击提交这类会触发页面跳转的操作时,用Promise.all同时绑定点击和导航等待,能确保页面跳转彻底结束后再执行后续步骤,减少不必要的时序冲突。
内容的提问来源于stack exchange,提问作者r_zeppelin
相关产品推荐
相关产品推荐

