即使页面已经加载(没有旋转器,没有网络活动),PYppeteer也会超时



我有下面的代码,自动登录到一个特定的网站,以获取登录屏幕后面的一些值。

#!/usr/bin/python3
import asyncio
from pyppeteer import launch
browser = await launch( {'headless': True} );
page = await browser.newPage()
await page.goto(page_url1, {'waitUntil': 'networkidle2', 'timeout': '30000'})
# injecting username and password redacted    
await asyncio.gather(
page.waitForNavigation({'waitUntil': 'networkidle2', 'timeout': '30000'}),
page.click('#submitButton')
)
# the line above got stuck or timed out
await browser.close()

pyppeteer.errors.TimeoutError: Navigation Timeout Exceeded: 30000 ms exceeded

我花了几个小时试图调试这个问题,但最终解决它的是将websockets降级到6.0,正如一些人在这里建议的那样:Pyppeteer在20秒后崩溃,出现Pyppeteer .errors. networkerror

pip3 install websockets==6.0 --force-reinstall

最新更新