解决Python使用wxpy模块登录微信。就会抛出异常错误。
来源:互联网 发布:2017淘宝规则 编辑:程序博客网 时间:2024/06/09 20:04
1:导入了wxpy和wechat_sender 模块之后,运行登录微信web端的代码,抛出异常。
环境:win10 pychram编译器 Python3.6
代码如下:
初始化登录
from wxpy import *
from wechat_sender import *
bot = Bot()
Bot()在初始化时便会执行登陆操作,需要手机扫描登陆。
classwxpy.Bot(cache_path=None, console_qr=False, qr_path=None, qr_callback=None, login_callback=None, logout_callback=None)
参数:
- cache_path –
- 设置当前会话的缓存路径,并开启缓存功能;为 None (默认) 则不开启缓存功能。
- 开启缓存后可在短时间内避免重复扫码,缓存失效时会重新要求登陆。
- 设为 True 时,使用默认的缓存路径 ‘wxpy.pkl’。
- console_qr –
- 在终端中显示登陆二维码,需要安装 pillow 模块 (pip3 install pillow)。
- 可为整数(int),表示二维码单元格的宽度,通常为 2 (当被设为 True 时,也将在内部当作 2)。
- 也可为负数,表示以反色显示二维码,适用于浅底深字的命令行界面。
- 例如: 在大部分 Linux 系统中可设为 True 或 2,而在 macOS Terminal 的默认白底配色中,应设为 -2。
- qr_path – 保存二维码的路径
- qr_callback – 获得二维码后的回调,可以用来定义二维码的处理方式,接收参数: uuid, status, qrcode
- login_callback – 登陆成功后的回调,若不指定,将进行清屏操作,并删除二维码文件
- logout_callback – 登出时的回调
异常情况:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\python.exe D:/Mycode/Python/wechat_sender/test/sendmes.py
Getting uuid of QR code.
Downloading QR code.
Traceback (most recent call last):
File "D:/Mycode/Python/wechat_sender/test/sendmes.py", line 3, in <module>
bot = Bot()
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\wxpy\api\bot.py", line 86, in __init__
loginCallback=login_callback, exitCallback=logout_callback
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\itchat\components\register.py", line 35, in auto_login
loginCallback=loginCallback, exitCallback=exitCallback)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\itchat\components\login.py", line 44, in login
picDir=picDir, qrCallback=qrCallback)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\itchat\components\login.py", line 117, in get_QR
utils.print_qr(picDir)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\itchat\utils.py", line 86, in print_qr
os.startfile(fileDir)
OSError: [WinError 1155] 没有应用程序与此操作的指定文件有关联。: 'QR.png'
解决方法:
http://www.iplaypy.com/wenda/wd19142.html
打开这个文件C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\site-packages\itchat\utils.py
导入import webbrowser模块,之后修改这段代码,
def print_qr(fileDir):
if config.OS == 'Darwin':
subprocess.call(['open', fileDir])
elif config.OS == 'Linux':
subprocess.call(['xdg-open', fileDir])
elif config.OS == 'Windows':
#subprocess.call(['cmd', fileDir])
#os.startfile(fileDir)
webbrowser.open(fileDir)
else:
os.startfile(fileDir)
然后运行登录代码,即可打开浏览器,然后关闭浏览器,扫描生成的二维码图片即可登录成功。
Getting uuid of QR code.
Downloading QR code.
Please scan the QR code to log in.
Please press confirm on your phone.
Loading the contact, this may take a little while.
Login successfully as 鹏鹏
阅读全文
0 0
- 解决Python使用wxpy模块登录微信。就会抛出异常错误。
- Python-WXPY实现微信监控报警
- python:基于wxpy微信聊天机器人
- 从零开始微信机器人(一):wxpy简介(登录、消息发送、注册回复)
- 从零开始微信机器人(一):wxpy简介(登录、消息发送、注册回复)
- 手把手教你用7行代码实现微信聊天机器人 -- Python wxpy
- 手把手教你用7行代码实现微信聊天机器人 -- Python wxpy
- 手把手教你用7行代码实现微信聊天机器人 -- Python wxpy
- python抛出异常
- Python 抛出异常
- 关于wxpy的小实验(一):实现登录微信、消息接收、处理、回复和人脸检测处理反馈
- 使用throw抛出异常
- 使用throw抛出异常
- 使用throw抛出异常
- 使用throw抛出异常
- python里使用string.Template怎么避免抛出异常
- thinkphp5未定义变量会抛出异常,页面错误,请稍后再试!
- 访问jsp抛出异常解决
- 98. Validate Binary Search Tree
- python学习笔记(坑点)
- 构造IOCTL命令的学习心得-----_IO, _IOR, _IOW, _IOWR 幻数的理解
- CentOS /RHEL 系统更新安全补丁的方法
- 用echarts.js制作中国地图,点击对应的省市链接到指定页面
- 解决Python使用wxpy模块登录微信。就会抛出异常错误。
- Java面试题全集(中)
- 调试技巧——宏定义开关和printf
- oracle更改用户的密码
- (二)Java概述
- Understanding Chan Chan's in Go
- Ubuntu上配置SSD-caffe+运行demo+训练测试自己的数据集
- [Easy] CodeForces
- pycharm 和 anaconda安装注意项