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用户界面?