来源:python中国网 时间:2020-06-20

  使用python+Selenium运行代码时,cmd或者其他终端会提示ERROR:gcm_channel_status_request.cc(87)] GCM channel request failed。这是什么原因呢?

  目前没找到十分肯定的答案,但实测该报错对程序结果无影响。报错的原因推理如下:

  看下官方文档:About GCM and Chrome

  https://pushwizard.com/chrome-gcm-messaging

Implementing GCM Client on Chrome
  Google Cloud Messaging (GCM) provides messaging services for different platform, including Chrome. 
It enables Chrome instances to send and receive message data from servers. 
Thechrome.gcmAPI allows the Chrome apps or extensions to access the GCM service. 
The service works even if an app or extension isn't currently running. 
For example, calendar updates could be pushed to users even when their calendar app isn't open.

  大概是说Google Cloud Messaging(GCM)为不同平台提供消息服务,包括Chrome。它允许Chrome实例从服务器发送和接收消息数据。chrome.gcm API允许chrome应用程序或扩展访问gcm服务。

  推理selenium+python运行期间,chrome浏览器某些插件或者应用会访问google GCM服务器但是又无法连接google GCM的网络。google GCM服务在国内基本不能用经常会断线,因为GCM需要google service支持,而国内本身是不可以访问谷歌的,和谷歌的一些服务之间通信是被禁用的,所以提示请求失败。国外的网站也给出了一些回答,大家可以看下:

上述2个回答是个人分析,鄙人觉得挺靠谱的,第一个同学说的也是可能访问谷歌一些服务被禁用,第二个同学干脆让你用火狐浏览器替代谷歌来验证。不管咋样,这个问题对脚本本身不影响,这就够了!实在看着厌恶的话就改用火狐吧,火狐不会有这个讨厌的提示。【欢迎四面八方的朋友—加群—讨论各种报错】
 python学习会

每篇文章旨在解决一个问题,有帮助,赏瓶水。

疑难杂症

Tips:不要怕、多坚持、多动手、付出必有回报。