大致步骤: 从网页获取这个二维码图片的URL(用PhantomJS) 用URL下载这个图片(Python) 把图片保存到你的手机(ssh/adb) 通过你手机端的微信,访问解析二维码的方法,把这个图片传过去(android/ios的自动化测试框架) 补充:为什么PC端不能独立完成? 微信网页版的二维码相当于是给当前浏览器生成一个Key,微信的手机客户端在已登录的状态下可以通过扫码获取这个Key,并告诉微信服务器,这话Key就是这个已登录的用户,因此PC端浏览器被授权访问聊天界面。 这个过程是由微信手机端,与微信服务器一同完成的,并不是通过Python解析出这个二维码就可以解决。 另外,我们从浏览器上看到的二维码代码是这样的: <img class="img" mm-src="https://login.weixin.qq.com/qrcode/Ie8OIBZqJQ==" mm-src-load="qrcodeLoad" mm-src-parallel="" mm-src-timeout="10" mm-src-retry-count="2" src="https://login.weixin.qq.com/qrcode/Ie8OIBZqJQ=="> 而Python用requests或urllib获取到的HTML是这样的: <img class="img" mm-src="{{qrcodeUrl}}" mm-src-load="qrcodeLoad" mm-src-parallel mm-src-timeout="10" mm-src-retry-count="2" src="https://res.wx.qq.com/zh_CN/htmledition/v2/images/img2e4e03.gif"> 其中这个{{qrcodeUrl}}需要执行js才能生成,所以我上面写用PhantomJS来获取这个页面,然后把图片给Python。
大致步骤:
从网页获取这个二维码图片的URL(用PhantomJS)
用URL下载这个图片(Python)
把图片保存到你的手机(ssh/adb)
通过你手机端的微信,访问解析二维码的方法,把这个图片传过去(android/ios的自动化测试框架)
补充:为什么PC端不能独立完成?
微信网页版的二维码相当于是给当前浏览器生成一个Key,微信的手机客户端在已登录的状态下可以通过扫码获取这个Key,并告诉微信服务器,这话Key就是这个已登录的用户,因此PC端浏览器被授权访问聊天界面。
这个过程是由微信手机端,与微信服务器一同完成的,并不是通过Python解析出这个二维码就可以解决。
另外,我们从浏览器上看到的二维码代码是这样的:
而Python用requests或urllib获取到的HTML是这样的:
其中这个
{{qrcodeUrl}}需要执行js才能生成,所以我上面写用PhantomJS来获取这个页面,然后把图片给Python。