1.0 下载adb
https://www.banxiayue.com/adb-1-0-39.html
这个是下载地址,有好几个版本
1.1 下载好后配置环境变量
打开环境变量 ----将adb的文件地址复制到环境变量中,直接上图来的更直接
1.2打来手机的调试功能
1.4 打开cmd,输入 adb devices 指令 查看是否连接
window + R 键打开运行窗口,输入cmd,按回车打开cmd窗口。
这里遇到的坑:
下载的adb版本过低,怎么都没有办法连接上,如果连接出现offine说明是版本过低,就重新下载高版本adb替换掉低版本的
2.0 在cmd中输入 pip3 install --pre -U uiautomator2 下载uiautomator2库
3.0 cmd窗口中输入 python -m uiautomator2 init 下载到手机上一个叫ATX的软件
3.1 在cmd中输入 python -m weditor 命令,连接 手机与电脑,同时会打开浏览器窗口,显示将手机上的内容投射到电脑上
在此,前期的准备工作就全部做完了,接下来就可以写代码来操控手机软件了。
注意:在这个期间不要将cmd窗口关闭,也不要讲数据线拔掉,一直连接着手机与电脑
import time
import uiautomator2
text = "戳你一下,看你在干嘛"
def diandian():
"""点点代码, 要打开到点点页面才能执行代码"""
d = uiautomator2.connect("192.168.8.101")
num = 0
for i in range(150):
if d(resourceId="com.immomo.momo:id/img_dialog_close"):
print(1)
d(resourceId="com.immomo.momo:id/img_dialog_close").click()
elif d(resourceId="com.immomo.momo:id/iv_close_vip_view"):
d(resourceId="com.immomo.momo:id/iv_close_vip_view").click()
print("今日点击达到上限结束循环,共点击 %d 次" % (num))
break
d(resourceId="com.immomo.momo:id/card_right_btn").click()
time.sleep(0.1)
num += 1
print("已点击:%d" % (num))
time.sleep(0.5)
def dongtai():
'''附近动态 打开到附近动态的页面才能执行'''
d = uiautomator2.connect("192.168.8.101")
num = 1
for i in range(150):
d(resourceId="com.immomo.momo:id/iv_user_head").click() # 点击头像
print("已点击头像 %d" % (num))
time.sleep(1)
if not d(text="打招呼"):
d.swipe(0, 1000, 700, 1000) # 从左向右滑动屏幕,返回上一级
# d(description="Navigate up").click() # 向上一级返回
print("返回上一级菜单 %d" % (num))
time.sleep(1)
d.swipe(400, 800, 400, 400) # 向上滑动屏幕
else:
if d(resourceId="com.immomo.momo:id/profile_layout_start_chat"):
d(resourceId="com.immomo.momo:id/profile_tv_start_chat", text="打招呼").click()
print("------1.1-----")
elif d(text="打招呼"):
d(text="打招呼").click()
time.sleep(0.5)
d(text="礼貌地打个招呼...").set_text(text)
d(text="发送").click()
print("---2---")
# d.click(0.07, 0.067)
d.swipe(0, 1000, 700, 1000) # 从左向右滑动屏幕,返回上一级
time.sleep(0.2)
d.swipe(0, 1000, 700, 1000) # 从左向右滑动屏幕,返回上一级
print("---2.2---")
time.sleep(0.5)
if d(description="Navigate up"):
d(description="Navigate up").click() # 向上一级返回
print("返回上一级菜单 %d" % (num))
time.sleep(1)
d.swipe(400, 800, 400, 400) # 向上滑动屏幕
print("暂停 %d 秒" % (2))
time.sleep(2)
num += 1
def fujinren():
'''附近人 打开到附近动态的页面才能执行'''
d = uiautomator2.connect("192.168.8.101")
num = 1
for i in range(100):
if d(resourceId="com.immomo.momo:id/user_avatar_layout"):
print("--------2.0-------------")
if d(resourceId="com.immomo.momo:id/nearby_live_indicate_layout_text"):
print("--------2.1----------")
d.swipe(260, 664, 260, 400) # 向上滑动屏幕
print("=========2 end ==========\n")
else:
d(resourceId="com.immomo.momo:id/userlist_item_iv_face").click() # 点击头像
print("已点击头像 %d" % (num))
time.sleep(1)
num += fujinren_dazhaohu(d, text, num)
def fujinren_dazhaohu(d, text, num):
"""单独封装附近人打招呼的方法"""
print("----------1----------")
if d(resourceId="com.immomo.momo:id/profile_layout_start_chat"):
d(resourceId="com.immomo.momo:id/profile_tv_start_chat", text="打招呼").click()
print("------1.1-----")
elif d(text="打招呼"):
d(text="打招呼").click()
time.sleep(0.5)
d(text="礼貌地打个招呼...").set_text(text)
d(text="发送").click()
print("------------3---------")
d.click(0.062, 0.064)
print("---------3.1---------")
time.sleep(0.5)
d.click(0.07, 0.069)
print("----------3.2--------")
if d(description="Navigate up"):
d(description="Navigate up").click() # 向上一级返回
print("--------4---------")
print("返回上一级菜单")
time.sleep(1)
d.swipe(260, 664, 260, 400) # 向上滑动屏幕
print("暂停 %d 秒" % (2))
print("===========end============\n")
print("num:%d" % num)
num += 1
time.sleep(2)
return num
if __name__ == '__main__':
# diandian()
dongtai()
# fujinren()