python中利用adb shell 控制手机,完美解决中文输入问题

本文介绍了如何通过Python调用adb shell命令控制安卓手机,特别是解决了在应用中直接输入中文的问题。首先,确保手机开启开发者选项并连接USB,如果需要记录网络数据,可参考相关配置代理的文章。然后,安装特定输入法以支持中文输入。最后,展示了一段Python代码,包括点击、滑动和输入中文字符串等操作。
摘要由CSDN通过智能技术生成
1.连接手机, 打开开发者选项, 连接USB, (如果需要记录手机浏览的数据,下载安装,配置fiddler, 配置代理 参照我以前写的这个文章就行http://st4024589553.iteye.com/blog/2363667) (当然你也可以安装一个模拟器来玩玩,一样的,可以操控多个模拟器)

2.要解决直接在APP输入中文,而不是打拼音,选汉字,这里需要为手机或者模拟器安装一个apk,就是一个老外写的输入法, 安装包我自己上传了,你们自己下载吧, 安装好后,在手机中进入 语言和输入法, 设置为默认输入法即可 (模拟器也是一样的)。


3.下载美团外卖APP,进入首页

代码================================如下:
# coding=utf-8
'''
python程序控制手机, 配置代理, 记录手机操作过程浏览的数据

@author: chenkai
'''
import os
import sys
import time

def main():
#os.system("adb shell input keyevent 3")
os.system("adb shell input tap 118 120")
time.sleep(1)
os.system("adb shell input tap 259 248")
time.sleep(2)
text="紫金大厦".encode('cp936')
os.system("adb shell am broadcast -a ADB_INPUT_TEXT --es msg '"+text+"'")
##os.system("adb shell input text 'aa'")
time.sleep(1)
os.system("adb shell input tap 94 264")
time.sleep(1)
os.system("adb shell input tap 118 668")
time.sleep(1)
os.system("adb shell input swipe 432 1456 432 291")
time.sleep(1)
os.system("adb shell input tap 118 120")
''''开始第二次定位'''
os.system("adb shell input tap 118 120")
time.sleep(1)
os.system("adb shell input tap 259 248")
time.sleep(2)
text="苏州街".encode('cp936') #必须转码,不然输入乱码
os.system("adb shell am broadcast -a ADB_INPUT_TEXT --es msg '"+text+"'")
##os.system("adb shell input text 'aa'")
time.sleep(1)
os.system("adb shell input tap 94 264")
time.sleep(1)
os.system("adb shell input tap 118 668")
time.sleep(1)
os.system("adb shell input swipe 432 1456 432 291")
time.sleep(1)
os.system("adb shell input tap 118 120")

if __name__ == '__main__':
main()


===============================操作说明
adb shell input text <string>
adb shell input keyevent <key code number or name>
adb shell input tap <x> <y>
adb shell input swipe <x1> <y1> <x2> <y2>

1. keyevent指的是Android对应的keycode,比如home键的keycode=3,back键的keycode=4.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值