打开浏览器扫一扫识别二维码

打开浏览器扫一扫识别二维码

导读:本文主要讨论如何通过安卓模拟器的技术实现网页二维码扫描登录的自动化操作。主要依赖以下技术实现自动化登录:

AirtestProject(APP内元素定位工具)

Android Debug Bridge (adb)

安卓模拟器

playwright-python(网页自动化工具)

我们来了解一下Android Debug Bridge(adb)。它是一个强大的命令行工具,能够与安卓设备进行通信。通过adb命令,我们可以执行各种设备操作,如安装和调试应用。当启动adb客户端时,它会检查是否有adb服务器进程正在运行。如果没有,它会启动服务器进程。服务器会与本地TCP端口5037绑定,并来自adb客户端的命令。adb服务器还会与所有连接的设备建立连接。这样我们就可以通过adb命令来访问和操作这些设备了。

以下是adb的下载链接和环境变量配置方法(适用于Windows 10):

下载链接:developer./tools/releases/platform-tools?spm=5176.28103460.0.0.297c5d275YV4Te&hl=zh-cn

环境变量配置:打开“控制面板”或“设置”,进入“系统”,选择“关于”,点击“高级系统设置”,在PATH中加入D:Program Filesplatform-tools-latest-windowsplatform-tools。

验证:输入adb version查看是否配置成功。

接下来,我们需要使用安卓模拟器。市面上有很多安卓模拟器,如Bluestacks(蓝叠)、LDPlayer(雷电模拟器)等。这里我们以蓝叠模拟器为例,它支持自定义控制配置、多开、脚本编写等功能。安装好模拟器后,需要开启支持adb调试。

开启支持adb调试的步骤包括:查看设备连接情况(adb devices -l)、如果配置正确但adb无法识别设备,可以通过重启adb解决(adb kill-server)。在模拟器上预先下载好需要登录的APP,并登录好账号。如果模拟器运行较卡,可以进行性能调优。

AirtestProject是一个跨平台的UI自动化框架,这里用于定位安卓APP上的元素。它提供了一个IDE,支持自动化脚本录制,可以录制我们的操作并生成相应的代码和文件,非常方便。后续可以将这些生成的代码嵌入到我们的Python程序中。关于详细的操作可以查阅官方文档。

AirtestProject主要由以下三部分组成:

Airtest基于图像识别的自动化测试框架

Poco基于UI控件识别的自动化测试框架

AirtestIDE编辑器

当我们需要在Python代码中使用Airtest和Poco框架时,需要安装相应的库(注意Python版本需小于等于3.9)。安装Airtest框架的命令是pip install airtest,安装Poco框架的命令是pip install pocoui。

接下来我们讨论如何实现结合playwright-python实现打开网页自动扫码登录的思路。playwright-python是一个Python库,用于浏览器自动化操作。我们可以基于它实现打开浏览器、跳转到指定网站、模拟点击直到扫码登录界面。接下来对二维码进行截图,并通过adb命令推送到模拟器上。之后通过adb连接模拟器实现APP扫码操作。这些APP定位和操作元素代码可以借助AirtestProject协助生成。

以下是部分参考代码:

对网页中的二维码进行截图并保存至本地目录D:/PythonProject/Temp/images中并命名为随机的文件名作为例子进行截图,在截屏后进行一些延迟以便屏幕正确加载相关页面。如果要在模拟器上显示此图片作为相册的内容后续供app使用进行扫码识别需将文件推送至模拟器内路径sdcard下的DCIM相册目录中同时模拟广播更新相册内容以便于APP扫描识别图片内容。(广播部分需要根据实际情况进行调整确保图片能够被正确加载并检测到存在广播的必要原因是一些特殊的应用在没有获取图片完整内容更新时不被当作是真实的照片库更新的所以要加入这个步骤)接下来利用adb连接模拟器并在模拟器的app中进入扫码界面选取第一张二维码进行扫码登陆并确认一些弹出的同意或允许的操作选项以实现自动登录操作自动化代码大致思路如上实际操作过程中可能会遇到权限问题等导致无法正常执行的情况需要根据实际情况调整代码逻辑并处理异常问题确保整个流程的顺畅执行同时需要注意一些关键步骤的延迟处理避免系统或网络因素导致误判而影响结果;详细的操作和更多注意事项请参考相应文档进行学习使用下面将附上一些相关文档链接供参考学习使用:蓝叠模拟器的使用教程AirtestProject的使用指南ADB命令的使用说明以及playwright-python库的官方文档等更多详细内容请查阅相关文档进行学习掌握更多技巧以提高自动化操作的效率和准确性从而方便我们实现更多的自动化操作场景满足实际应用的需求。 代码部分涉及到了截图、文件推送、模拟点击等多个步骤代码过长将不予全部展示详情请查阅上述提供的AirtestProject文档链接以获得详细操作步骤的指导并完成对应的环境配置部署安装后学习与实践操作以实现网页二维码扫描登录的自动化操作目标完成后的成果将为开发者带来极大的便利性和效率提升同时在实际应用中也有着广泛的应用前景值得大家深入学习实践及推广运用进一步提高了开发和


打开浏览器扫一扫识别二维码