Python 3.x Pyppeteer在20秒后用Pyppeteer.errors.NetworkError压碎
在使用控制铬的过程中,大约工作20秒后,我收到一个错误:Python 3.x Pyppeteer在20秒后用Pyppeteer.errors.NetworkError压碎,python-3.x,web-scraping,chromium,pyppeteer,Python 3.x,Web Scraping,Chromium,Pyppeteer,在使用控制铬的过程中,大约工作20秒后,我收到一个错误: pyppeteer.errors.NetworkError: Protocol Error (Runtime.callFunctionOn): Session closed. Most likely the page has been closed. 如前所述,该问题可能是由pythonwebsockets>=7的实现和Pypetter中的使用引起的。有3种解决方案可防止断开与Chrome的连接: -修补代码,如(首选): 在运行任何其
pyppeteer.errors.NetworkError: Protocol Error (Runtime.callFunctionOn): Session closed. Most likely the page has been closed.
如前所述,该问题可能是由python
websockets>=7的实现和Pypetter中的使用引起的。有3种解决方案可防止断开与Chrome的连接:
-修补代码,如(首选):
在运行任何其他Pyppeteer命令之前运行代码段
def patch_pyppeteer():
导入pyppeteer.connection
原始方法=pyppeteer.connection.websockets.client.connect
def新方法(*args,**kwargs):
kwargs['ping_interval']=无
kwargs['ping_timeout']=无
返回原始_方法(*args,**kwargs)
pyppeteer.connection.websockets.client.connect=新方法
patch_pyppeteer()
-更改:
将websockets
包降级为websockets-6.0
例如通过
pip3安装websockets==6.0——强制重新安装(在虚拟环境中)
-更改代码库
如本文所述,该公司有望很快合并