1、准备一部安卓手机
2、从网上下载adb的安装工具包,也可以到我的网盘下载 提取码:hnph
3、下载后解压到自己的本地目录,然后配置环境变量,如图所示
也可以自定义目录,但环境变量一定要配置(包括python)。
4、将自己的手机和电脑连接,打开开发者选项模式,使用usb进行连接,此时会自动安装ADB的驱动程序,安装成功后如下图所示
注意:此驱动如果安装失败,就无法进行后面的操作,一定要保证此驱动安装成功
如果一直无法安装此驱动,则可以参照如下步骤
1、首先从android官网网站下载对应的sdk-tool工具包,或者可以到我的网盘下载:密码:0jwd
2、下载完成后解压打开sdk manager
3、选择安装google usb driver插件
4、插件安装成功后开始安装,到我的电脑-管理-设备管理找到安装失败的adb驱动
5、右键点击更新驱动程序,后选择如下图所示
6、选择下一步
7、直接选择下一步后到如图所示,从本地磁盘找到安装驱动文件,然后点击下一步安装即可
8、安装成功如下所示
5、上述部署完成后打开cmd进入到驱动包目录下面检测是否成功连接设备
如图所示出现设备号则证明手机连接成功,并且驱动也安装无误。
6、此时就可以输入相关命令进行坐标调试了,可以观察手机的动作,如图,可以为后面python脚本调试参数
1、首先准备python环境,具体安装部署就不详述了,这里之说下怎么部署需要的包,此次用到的包如下
2、这里着重说下uiautomator2包的导入,一般情况下都很容易安装失败
方式一:进入到本地python环境使用命令进行安装
注意:安装之前保证python环境变量配置和pip升级到最新版本
进入后首先执行python -m pip install --upgrade pip命令更新版本
如果此时更新失败,则可以到我的网盘直接下载安装包 提取码:ee4q
下载完成后进入到安装包解压目录直接执行python setup.py install进行 安装即可
此时pip版本即可更新。
接下来就可以执行pip install --pre -U uiautomator2命令进行安装了
方式二:直接使用国内镜像网站直接更新下载pip install -U --pre uiautomator2 -i https://pypi.doubanio.com/simple
综合上述uiautomator2 的包就安装成功了
3、安装成功后就可以进行初始化了,继续进入到python安装目录,执行python -m uiautomator2 init,此时手机会提示时候安装响应的程序,直接点击允许即可
4、到此就可以放心的开发python代码了,整体代码如下
import os,re
import time
import uiautomator2 as u2
print("--------------------编写函数----------------------")
##根据x和y坐标进行屏幕定位点击事件
def onClick(x,y):
##触摸屏幕进行点击
os.system('adb shell input tap {x1} {y1}'.format(x1=x, y1=y))
##滑动屏幕从(x, y)坐标点到(ex, ey)坐标点
def slide(x,y,ex,ey):
os.system('adb shell input swipe {x1} {y1} {x2} {y2}'.format(x1=x, y1=y, x2=ex, y2=ey))
##手机屏幕响应操作
def touch(key): #按动相应的按键
if key == "back":
print("> 返回按键")
os.system('adb shell input keyevent 4')
elif key == "light":
print("> 开屏按键")
os.system('adb shell input keyevent 26')
time.sleep(1) # 等待1s等手机反应
##判断是否黑屏
def is_black():
d = u2.connect()
screen = d.info
if screen["screenOn"] == False:
return True
print("熄屏状态...")
print("----------------------------------------------------------")
print("---------------编写主函数,开始调用执行打卡---------------")
def start():
##1、点击屏幕钉钉软件,坐标可根据手机自行调节
onClick(650,850)
time.sleep(2)
##2、点击钉钉里面的工作按钮
onClick(550,2000)
time.sleep(2)
##3、点击考勤打卡按钮
onClick(150,1100)
time.sleep(2)
##4、点击上班打卡按钮
onClick(550,760)
time.sleep(2)
##5、点击下班打卡按钮
onClick(550,1082)
##打卡完毕,关闭屏幕
time.sleep(2)
##打卡完毕,关闭屏幕
touch("light")
def startMain():
if is_black():
touch("light") ##点击亮屏幕
##由于我的是密码锁屏,姑且要输入密码
##如果将密码锁去掉则可以注释掉一下代码了,只需要亮屏即可
#onClick(550,458)
#onClick(650,785)
#onClick(980,445)
#onClick(990,998)
start()
else:
start()
startMain()
5、启动运行后结果如下,这里就只展示日志信息了
6、将python脚本部署到java的定时系统,就可以每天定时调用打卡了
总结:到此将其部署到定时器中就可以每天定时打卡了。