我有两个问题暂时无法解决。1.我想让浏览器保持运行,这样我就可以使用pyppeteer.launcher.connect()函数重新连接,但即使我不调用它,它似乎也被关闭了pyppeteer.browser.Browser.close()。测试01.py:import asynciofrom pyppeteer import launch, connectasync def fetch(): browser = await launch( headless=False, args=['--no-sandbox'] ) print(f'Endpoint: {browser.wsEndpoint}') await browser.disconnect()loop = asyncio.get_event_loop()loop.run_until_complete(fetch())$ python test01.pyEndpoint: ws://127.0.0.1:51757/devtools/browser/00e917a9-c031-499a-a8ee-ca4090ebd3fe$ curl -i -N -H "Connection: Upgrade" -H "Upgrade: websocket" http://127.0.0.1:51757curl: (7) Failed to connect to 127.0.0.1 port 51757: Connection refused2.如何创建 CDP 会话。此代码应该打开另一个浏览器窗口,但它没有按预期工作:测试02.pyimport asyncioimport timefrom pyppeteer import launch, connectasync def fetch(): browser = await launch( headless=False, args=['--no-sandbox'] ) page = await browser.newPage() cdp = await page.target.createCDPSession() await cdp.send('Target.createBrowserContext') time.sleep(5) await browser.disconnect()loop = asyncio.get_event_loop()loop.run_until_complete(fetch())$ python test02.pyFuture exception was never retrievedfuture: <Future finished exception=NetworkError('Protocol error Target.sendMessageToTarget: Target closed.',)>pyppeteer.errors.NetworkError: Protocol error Target.sendMessageToTarget: Target closed.
添加回答
举报
0/150
提交
取消