网站在线扫描(自动化登录利用安卓模拟器实现网页二维码扫描登录)

导读:本文主要讨论利用安卓模拟器实现网页二维码扫描登录,主要基于以下技术来实现自动化登录。 AirtestProject(APP 内元素定位)adb(桥梁) 安卓模拟器(运行...

导读:本文主要讨论利用安卓模拟器实现网页二维码扫描登录,主要基于以下技术来实现自动化登录。

AirtestProject(APP 内元素定位)adb(桥梁) 安卓模拟器(运行 APP)playwright-python(网页自动化)adb

Android Debug Bridge (adb) 是一种功能多样的命令行工具,可与设备进行通信。adb 命令可用于执行各种设备操作,例如安装和调试应用。当启动某个 adb client 时,该客户端会先检查是否有 adb server 进程已在运行。如果没有,它会启动服务器进程。服务器在启动后会与本地 TCP 端口 5037 绑定,并监听 adb client 发出的命令。adb server 会与所有正在运行的设备建立连接。后续就可以通过 adb 命令来访问和操作这些设备。

// adb 下载https://developer.android.com/tools/releases/platform-tools?spm=5176.28103460.0.0.297c5d275YV4Te&hl=zh-cn// 环境变量配置(win10)打开“控制面板”或“设置” -> “系统” -> “关于” -> “高级系统设置” -> PATH 加入D:\Program Files\platform-tools-latest-windows\platform-tools// 验证adb version安卓模拟器

安卓模拟器有很多,如 Bluestacks(蓝叠)、LDPlayer(雷电模拟器)等。这里笔者使用的是蓝叠模拟器(部分 APP 会检测识别特定的模拟器),它支持自定义控制配置,多开,脚本编写等功能。安装好模拟器后需要开启支持 adb 调试。

自动化登录:利用安卓模拟器实现网页二维码扫描登录

开启支持 adb 调试

// 查看设备连接情况adb devices -l// 打印如下List of devices attachedemulator-5554 device // 每个模拟器占用两个端口,奇数给控制台连接,偶数给 adb 连接, 状态 device 表示已经连上//如果配置正确但是 adb 识别不到,则可通过重启 adb 解决adb kill-server

在模拟器上预先下载好 APP,并登陆好账号。模拟器如果运行比较卡,可做适当调整。

自动化登录:利用安卓模拟器实现网页二维码扫描登录

模拟器性能调优

AirtestProject

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

自动化登录:利用安卓模拟器实现网页二维码扫描登录

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

Airtest 基于图像识别的自动化测试框架Poco 基于 UI 控件识别的自动化测试框架AirtestIDE 编辑器

将生成代码嵌入到我们的 python 代码中时需要安装相应的库(注意 python 版本 <= 3.9)

// 安装Airtest框架pip install airtest// 安装Poco框架;编写了Poco语句就需要安装pip install pocoui实践:结合 playwright-python 实现打开网页自动扫码登陆的思路

playwright-python 是一个 Python 库用于浏览器自动化操作,首先我们可以基于它实现打开浏览器,跳转到指定网站,并模拟点击直到扫码登陆界面。接下来对二维码进行截图,并通过 adb 命令推送到模拟器上(注意,push 后模拟器相册不会立马更新,需要 broadcast 广播一下)。接下来通过 adb 连接模拟器并实现 APP 扫码操作(打开扫码界面 - 从相册中选择照片),这些 APP 定位和操作元素代码均可借助 AirtestProject 协助生成。

部分参考代码如下:

# 截图filename = generate_uuid_string(13) + ".png"source_path = "D:/PythonProject/Temp/images/" + filenametarget_path = "/sdcard/DCIM/Camera/" + filenamebroadcast_path = "file:///sdcard/DCIM/Camera/" + filenameawait page.screenshot(path=source_path)await asyncio.sleep(3)# 推送到模拟器上adn_command = "adb -s emulator-5554 push " + source_path + " " + target_pathsubprocess.run(adn_command, capture_output=True, text=True, shell=True)# push后相册没有立马更新,需要广播一下adn_command = "adb -s emulator-5554 shell am broadcast -a android.intent.action.MEDIA_SCANNER_SCAN_FILE -d " + broadcast_pathsubprocess.run(adn_command, capture_output=True, text=True, shell=True)# 连接设备auto_setup(__file__, devices=["android://127.0.0.1:5037/127.0.0.1:5555"])poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)# 进入到扫码界面touch(Template(r"../images/tpl1726731649836.png", record_pos=(-0.458, -0.811), resolution=(900, 1600)))await asyncio.sleep(2)touch(Template(r"../images/tpl1726732113466.png", record_pos=(-0.031, -0.803), resolution=(900, 1600)))await asyncio.sleep(2)touch(Template(r"../images/tpl1726732129931.png", record_pos=(0.279, 0.72), resolution=(900, 1600)))# 选取第一张二维码进行扫码await asyncio.sleep(2)poco("com.ss.android.ugc.aweme:id/ni6").click()# 同意await asyncio.sleep(2)touch(Template(r"../images/tpl1727151787833.png", record_pos=(-0.014, 0.701), resolution=(900, 1600))) 相关文档

蓝叠:https://www.bluestacks.cn/keymaping.html

AirtestProject :https://airtest.doc.io.netease.com/tutorial/1_quick_start_guide/

如何脱离AirtestIDE跑自动化脚本:https://airtest.doc.io.netease.com/IDEdocs/faq/0_no_airtestide/

ADB:https://developer.android.com/tools/adb?spm=5176.28103460.0.0.297c5d275YV4Te&hl=zh-cn#options

playwright-python:https://github.com/microsoft/playwright-python

本文来自作者[admin]投稿,不代表吹吹讯立场,如若转载,请注明出处:https://cc199.top/bm/202504_15309.html

(4)

文章推荐

  • Alector盘中异动 下午盘股价大涨5.20%报1.82美元

    北京时间2025年01月23日03时45分,Alector,Inc.(ALEC.us)股票出现异动,股价大幅拉升5.20%。截至发稿,该股报1.82美元/股,成交量25.7812万股,换手率0.26%,振幅4.62%。最近的财报数据显示,该股实现营业收入15.34百万美元,净利润-42.22百万

    2025年01月23日
    23
  • 映宇宙获Kunlun Group Limited增持1000万股 每股作价1.8808港元

      香港联交所最新资料显示,2月20日,KunlunGroupLimited增持映宇宙(03700)1000万股,每股作价1.8808港元,总金额为1880.8万港元。增持后最新持股数目约为3.17亿股,最新持股比例为16.35%。

    2025年02月22日
    16
  • 欧股集体低开 欧洲斯托克50指数跌1.2%

      周二欧股集体低开,德国DAX30指数跌1.2%,英国富时100指数跌0.66%,法国CAC40指数跌0.95%,欧洲斯托克50指数跌1.2%。

    2025年03月04日
    14
  • 彻底引爆!这个赛道火了,全线上攻!

      炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会!  内蒙古呼和浩特市卫生健康委发布相关文件,生育三孩及以上发放育儿补贴100000元。  3月14日,A股全天震荡走强,三大指数放量大涨。截至收盘,沪指上涨1.81%,站上3400点,报3419.56点;深成指上涨2.2

    2025年03月14日
    10
  • “3·15”晚会曝光消费行业乱象 多家上市公司紧急回应

    登录新浪财经APP搜索【信披】查看更多考评等级上证报中国证券网讯(记者张雪)3月15日,央视“3.15”晚会曝光多起侵害消费者权益的案例,涉及一众公司相关产品质量、虚假宣传及平台运营等问题。记者发现,被点名的公司及品牌方背后还闪现多家上市公司的身影。对此,沪深交易所火速出手,向相关上市公司发出监

    2025年03月16日
    9
  • 港股全线回调!发生了什么?分析人士:筹码拥挤出现兑现情绪,年报和季报披露期市场一些公司的业绩心存忌惮

      炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会!  刚刚,全线崩跌!发生了什么?  港股再度迎来杀跌日!  今天早盘,港股跌势扩大,恒生科技指数一度跌超3%,并且失守20天和30天均线支撑。恒生指数亦大跌近2%,蔚来一度跌超8%,中芯国际跌逾7%。近期,港股市场亦出

    2025年03月21日
    9
  • 300159股票300159股票上市时间

    关于军工导弹股票龙头股都有哪些?军工导弹股票的龙头股主要包括以下几家:广东甘化(000576):主业配套导弹火箭产业链,具有明确的军工导弹业务方向。宏大爆破(002683):公司有导弹产品HD-1,是导弹制造领域的重要参与者。洪都航空(600316):拟置入导弹业务,未来在导弹领域的布局值得期待。

    2025年04月07日
    4
  • 郑州未来一周天气预报郑州未来一周天气预报i

    郑州天气预报15天第六天,天气依旧晴朗,白天和夜间大部分区域晴朗,气温在11℃至21℃之间,风向为西北风,风力为二级。第七天,郑州将再次迎来晴朗天气,白天和夜间气温升至13℃至26℃之间,风向为西南风,风力为二级。河南郑州未来15天的天气预报如下:今天(6月16日),晴朗,最低温度为20℃,最高温

    2025年04月13日
    6
  • 湖北移动网上(移动微法院)

    移动微法院你会用吗疫情期间为了减少聚集,立案大厅暂不开放可是当事人要立案怎么办?足不出户,就能手机上立案?打开微信,就能打官司?你还别不信一份“移动微法院”操作指南请查收移动微法院来帮你一部智能手机,一个微信账号,立案(材料上传)、案件查询、调解、阅卷等,轻松搞定,省时省力。指尖诉讼,不再是梦。无需

    2025年04月14日
    3
  • 凡客网购(开卖雷总同款皮衣)

    来源:时代财经APP(ID:tf-app)作者:周嘉宝编辑:黎倩创始人和雷军“情比金坚”。当“雷总同款”全网爆火,互联网快时尚老牌凡客诚品没有放过这波热度。在2月27日的小米发布会上,创始人雷军穿着立领皮衣说出“为小米汽车而战”时,这件皮衣也火出圈了。“雷军穿皮衣”的话题登上各大社交平台热搜,商

    2025年04月15日
    1

发表回复

本站作者后才能评论

评论列表(4条)

  • admin
    admin 2025年04月04日

    我是吹吹讯的签约作者“admin”!

  • admin
    admin 2025年04月04日

    希望本篇文章《网站在线扫描(自动化登录利用安卓模拟器实现网页二维码扫描登录)》能对你有所帮助!

  • admin
    admin 2025年04月04日

    本站[吹吹讯]内容主要涵盖:国足,欧洲杯,世界杯,篮球,欧冠,亚冠,英超,足球,综合体育

  • admin
    admin 2025年04月04日

    本文概览:导读:本文主要讨论利用安卓模拟器实现网页二维码扫描登录,主要基于以下技术来实现自动化登录。 AirtestProject(APP 内元素定位)adb(桥梁) 安卓模拟器(运行...

    联系我们

    邮件:吹吹讯@sina.com

    工作时间:周一至周五,9:30-18:30,节假日休息

    关注我们