0

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

#!/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

4

1 回答 1

1

我花了几个小时试图调试它,但最终解决的是将 websockets 降级到 6.0,正如一些人在这里建议的那样:Pyppeteer 在 20 seconds after 20 seconds with pyppeteer.errors.NetworkError

pip3 install websockets==6.0 --force-reinstall

于 2021-02-18T21:01:33.353 回答