Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Pyppeteer在20秒后用Pyppeteer.errors.NetworkError压碎_Python 3.x_Web Scraping_Chromium_Pyppeteer - Fatal编程技术网

Python 3.x Pyppeteer在20秒后用Pyppeteer.errors.NetworkError压碎

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的连接: -修补代码,如(首选): 在运行任何其

在使用控制铬的过程中,大约工作20秒后,我收到一个错误:

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——强制重新安装(在虚拟环境中)

-更改代码库 如本文所述,该公司有望很快合并