import asyncio
from pyppeteer import launch
async def main():
browser = await launch()
page = await browser.newPage()
await page.goto('https://www.baidu.com')
await page.screenshot({'path': 'baidu.png'})
await browser.close()
asyncio.get_event_loop().run_until_complete(main())
网上找的代码测试pyppeteer是否正常运行,运行后报错
Future exception was never retrieved
future: <Future finished exception=NetworkError('Protocol error (Target.sendMessageToTarget): No session with given id')>
pyppeteer.errors.NetworkError: Protocol error (Target.sendMessageToTarget): No session with given id
看网上对这个问题处理比较少,我是通过添加延时解决的,具体原理还未搞清楚
await asyncio.sleep(1)
import asyncio
from pyppeteer import launch
async def main():
browser = await launch()
page = await browser.newPage()
await page.goto('https://www.baidu.com')
await asyncio.sleep(1)
await page.screenshot({'path': 'baidu.png'})
await browser.close()
asyncio.get_event_loop().run_until_complete(main())