Javascript 在Twitter上,木偶演员经常因超时错误而导致waitForNavigation失败
我正在和推特自动化的木偶师玩。我发现导航常常会超时。例如:Javascript 在Twitter上,木偶演员经常因超时错误而导致waitForNavigation失败,javascript,puppeteer,Javascript,Puppeteer,我正在和推特自动化的木偶师玩。我发现导航常常会超时。例如: puppeteer.launch({ headless: false }).then(async browser => { try { const page = await browser.newPage(); await page.goto('https://twitter.com/home'); // This sometimes fails with
puppeteer.launch({ headless: false }).then(async browser => {
try {
const page = await browser.newPage();
await page.goto('https://twitter.com/home');
// This sometimes fails with timeout error
await page.waitForNavigation({ waitUntil: 'networkidle2' });
if (page.url() === 'https://twitter.com/login') {
await login(page);
}
} catch(error) {
console.log(error);
}
});
页面将挂起,我将得到错误TimeoutError
我尝试过更改waitUntil
参数,但似乎没有什么不同。我还设置了wait page.setDefaultNavigationTimeout(0)代码>这当然会停止出现错误,但页面永远不会响应
还有其他人面临过这个问题吗?推特发现我了吗?还是我错过了什么?我正在使用默认设置的Puppeter extra和Puppeter extra插件隐身。(1)成功访问和超时的比率是多少?(例如,10次访问中有1次)(2)您是否尝试过在超时情况下创建页面。屏幕截图?(3) 您是否尝试了page.waitForSelector
而不是waitForNavigation?(经过页面。转到后,我不希望出现新的导航事件,这会使刮板无法使用)您不必等待网络空闲,只需等待登录表单。我同意前面的评论,在等待网络空闲2
时,您可能会不时遇到一些请求,最好等待特定的元素。另外,我只是想知道为什么不使用API来获取/更新/监视或其他需要的东西?或者你需要测试准确的twitter用户界面?(1)成功访问和超时的比率是多少?(例如,10次访问中有1次)(2)您是否尝试过在超时情况下创建页面。屏幕截图?(3) 您是否尝试了page.waitForSelector
而不是waitForNavigation?(经过页面。转到后,我不希望出现新的导航事件,这会使刮板无法使用)您不必等待网络空闲,只需等待登录表单。我同意前面的评论,在等待网络空闲2
时,您可能会不时遇到一些请求,最好等待特定的元素。另外,我只是想知道为什么不使用API来获取/更新/监视或其他需要的东西?或者你需要测试准确的twitter用户界面?