我是
靠谱客的博主
大方八宝粥,最近开发中收集的这篇文章主要介绍
解决Python使用wxpy模块登录微信。就会抛出异常错误。,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
1:导入了wxpy和wechat_sender 模块之后,运行登录微信web端的代码,抛出异常。
环境:win10 pychram编译器 Python3.6
代码如下:
初始化登录
from wxpy import *
from wechat_sender import *
bot = Bot()
|
Bot()在初始化时便会执行登陆操作,需要手机扫描登陆。
class
wxpy.Bot
(
cache_path=None
,
console_qr=False
,
qr_path=None
,
qr_callback=None
,
login_callback=None
,
logout_callback=None
)
|
参数:
- 设置当前会话的缓存路径,并开启缓存功能;为 None (默认) 则不开启缓存功能。
- 开启缓存后可在短时间内避免重复扫码,缓存失效时会重新要求登陆。
- 设为 True 时,使用默认的缓存路径 ‘wxpy.pkl’。
- 在终端中显示登陆二维码,需要安装 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:UsersAdministratorAppDataLocalProgramsPythonPython36-32python.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:UsersAdministratorAppDataLocalProgramsPythonPython36-32libsite-packageswxpyapibot.py", line 86, in __init__
loginCallback=login_callback, exitCallback=logout_callback
File "C:UsersAdministratorAppDataLocalProgramsPythonPython36-32libsite-packagesitchatcomponentsregister.py", line 35, in auto_login
loginCallback=loginCallback, exitCallback=exitCallback)
File "C:UsersAdministratorAppDataLocalProgramsPythonPython36-32libsite-packagesitchatcomponentslogin.py", line 44, in login
picDir=picDir, qrCallback=qrCallback)
File "C:UsersAdministratorAppDataLocalProgramsPythonPython36-32libsite-packagesitchatcomponentslogin.py", line 117, in get_QR
utils.print_qr(picDir)
File "C:UsersAdministratorAppDataLocalProgramsPythonPython36-32libsite-packagesitchatutils.py", line 86, in print_qr
os.startfile(fileDir)
OSError: [WinError 1155] 没有应用程序与此操作的指定文件有关联。: 'QR.png'
|
解决方法:
http://www.iplaypy.com/wenda/wd19142.html
打开这个文件C:UsersAdministratorAppDataLocalProgramsPythonPython36-32libsite-packagesitchatutils.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 鹏鹏
|
最后
以上就是大方八宝粥为你收集整理的解决Python使用wxpy模块登录微信。就会抛出异常错误。的全部内容,希望文章能够帮你解决解决Python使用wxpy模块登录微信。就会抛出异常错误。所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复