聊聊PC端自动化最佳方案WinAppDriver
来源:AirPython
作者:星安果
1。前言
大家好,我是安果!
一提到自动化,可能大家想到的是App端的Appium、Airtest、AutoJS,亦或是Selenium、Puppeteer、Cypress等Web端的自动化框架
本篇文章,我将和大家聊聊PC端的自动化工具WinAppDriver2。准备
WinAppDriver,全称为WindowsApplicationDriver,它是Windows上一个类似Selenium的UI自动化驱动服务框架
它支持Appium,可以使用AppiumPythonClient依赖库完成对Windows桌面程序的自动化操作
项目地址:https:github。comMicrosoftWinAppDriver
需要注意的是,要使用WinAppDriver服务框架完成Windows的自动化,需要满足Windows10或WindowsServer2016以上系统
另外,它支持的应用程序包含:UWPUniversalWindowsPlatformWinFormsWindowsFormsWPFWindowsPresentationFoundationWin32ClassicWindows
在实现之前,我们需要做好以下准备工作
21开启开发者模式
关键字搜索开发者设置,选择开启开发者模式
22安装窗口组件元素识别工具
常用的2种窗口元素识别工具为:inspect。exe、FlaUInspect
其中
作为官方的组件元素识别工具,inspect。exe集成于WindowsSDK
如果本地不存在该文件,可以通过下面链接进行安装
https:download。microsoft。comdownload4d24d2b7011606a467e99b499550bf24ffcwindowssdkwinsdksetup。exe
相比inspect。exe,FlaUInspect界面更简洁,功能更易用(推荐)
项目地址:https:github。comFlaUIFlaUInspect
23安装WinAppDriver
通过下面链接下载WinAppDriver应用程序,并在本地运行起来
https:github。comMicrosoftWinAppDriverreleases
24搭建Appium环境
这部分内容涉及NodeJS安装及AppiumServer环境的搭建
可以参考:https:www。cnblogs。comamoyshmilyp10500687。html
25安装依赖
最后安装Python依赖库AppiumPythonClient
安装依赖AppiumPythonClient
pip3installAppiumPythonClient3。实战一下
我们以操作PC端的微信为例,聊聊自动化的常见步骤
首先,我们在本机打开WinAppDriver服务,让它在后台运行
然后,我们使用Python编写自动化脚本
通过ip地址、端口号及PC版微信的绝对路径,使用Appium打开微信
importtime,os
fromappiumimportwebdriver
fromselenium。webdriverimportActionChains
fromselenium。webdriver。common。keysimportKeys
fromtimeimportsleep
classAuto():
defopenweixin(self,hostlocalhost,port4723):
打开WinAppDriver服务
注意:如果手动开启,则可以注释掉
os。system(rstartdC:ProgramFilesWindowsApplicationDriverWinAppDriver。exe)
配置信息
包含:平台名、系统、应用程序绝对路径
desiredcaps{platformName:Windows,deviceName:WindowsPC,
app:rD:ProgramFiles(x86)TencentWeChatWeChat。exe}
try:
连接WinAppDriver服务,打开目标软件
self。driverwebdriver。Remote(http:{}:{}。format(host,port),desiredcaps)
exceptExceptionase:
raiseAssertionError(e)
接着,通过组件元素识别工具拿到界面元素的属性值,执行常见的点击、移动、滑动等操作
比如:点击文件传输助手,发送一条信息
给文件传输助手发送一条信息
defsendmsg(self,elementname,msg):
:paramelementname:元素name值
:parammsg:
:return:
通过name属性,找到目标元素
chatelementself。weixindriver。findelementbyname(targetname)
点击元素,进入聊天界面
chatelement。click()
找到输入框,并输入
self。weixindriver。findelementbyname(输入)。sendkeys(msg)
点击右下角的发送,发送消息出去
self。weixindriver。findelementbyname(发送(S))。click()
需要注意的是,如果涉及界面的滑动,可以使用ActionChains移动鼠标,然后使用win32api和win32con模拟屏幕滑动即可
importwin32api
importwin32con
fromappiumimportwebdriver
fromselenium。webdriverimportActionChains
模拟屏幕滑动
1、移动到某个元素区域
ActionChains(self。weixindriver)。movetoelement(
self。weixindriver。findelementbyname(elementname))。perform()
2、滑动界面
比如,向上滚动,模拟滑动
win32api。mouseevent(win32con。MOUSEEVENTFWHEEL,0,0,500)
完成自动化操作后,就可以主动释放资源、关闭WinAppDriver服务
释放资源及关闭服务
deftearDownFunc(self):
print(准备退出)
sleep(2)
1、释放资源
self。weixindriver。quit()
2、关闭WinAppDriver应用程序
os。system(taskkillfimWinAppDriver。exe)4。最后
在实际使用过程中,可能会遇到复杂的桌面应用程序,这时我们可以通过打印驱动对象的pagesource元素控制树值,以此来帮助我们进行快速定位元素,进而完善自动化脚本
QiushiJournalExcerpt做强做优做大我国数字(ExcerptsfromBuildingUptheStrength,Quality,andSizeofChina’sDigitalEconomybyXiJinping,Qiu……
作文和谐的班集体班集体是一个温暖的大家庭,谁都离不开谁,下面小编给大家整理了和谐的班集体作文,欢迎阅读!和谐的班集体作文1子曰:君子和而不同,小人同而不和。大致意思是:君子与人相处,不盲……
远方梦想优秀作文人是世上惟一翅膀长在心里的两栖动物。也许因为我们拥有心灵的翅膀,所以我们才会期盼着远方。我们总想到远方去,看看那里的山、那里的水、那里的风情、那里乡音不同的人,当然还有人想去看……
美丽磐安,我的家小学作文600字我的家乡在磐安,这里山美,水美,境内拥有玉山古茶场、孔氏家庙2个国家级文物保护单位,国家4A级景区百杖潭、十八涡,国家3A级景区花溪、水下孔,以及舞龙峡景区、龙溪漂流、灵江源漂……
胡厚崑华为还是汽车行业的新来者,汽车销量30万目标很难实现IT之家4月27日消息,在第19届华为全球分析师大会上,华为轮值董事长胡厚崑在谈及华为终端BGCEO余承东此前立下汽车年销30万的目标时称,这个目标哪怕不能实现,也请外界多一些……
猪年春联集锦导语:走过狗年的欢畅,迎来猪年的辉煌。诉说幸福的时光,聆听新年的。歌唱。铸就事业的殿堂,增进骨骼的刚强。品味爱情的芬芳,沐浴财运的光芒。猪年到了,愿你事业有成,大吉大利!接下来……
有关描写成长的快乐作文导语:成长,既深奥但又不那么深奥!它远在天边,近在眼前。下面是小编收集的有关描写成长的快乐作文,欢迎大家参考。第一篇:成长的快乐不管你怕不怕困境,现实中的困境却无法避免。……
牙痛之苦小学生作文都说牙疼不是病,疼起来要人命,可不是吗,这不,前几天我真真正正体验到牙疼的痛苦。几天前,温度特别高,大家都从厚厚的冬天衣服换到了衬衫,我也是一样,冰糕都出来的,几乎每一家……
央行设立科技创新再贷款额度2000亿利率1。75中新财经4月28日电据央行微信公众号28日消息,人民银行设立科技创新再贷款,额度为2000亿元,利率1。75,期限1年,可展期两次。发放对象包括国家开发银行、政策性银行、……
关于开学的作文过了一个倒霉的暑假,我呀,终于盼来开学了。今天是领书的日子,我很早就被一阵电话铃声吵醒了,是XYJ约我一起走呢!我系上红领巾,背上书包,出发了,这感觉真是好。开学第……
大众CARIAD中国子公司成立,推动面向中国市场软件产品开发新京报贝壳财经讯(记者王琳琳)4月28日,大众汽车集团旗下全新软件公司CARIAD发布其中国战略,这也标志着CARIAD中国子公司正式成立。按照大众汽车集团的计划,中国团队将推……
春,大地的母亲作文范文春,是伟大的母亲,她把一切,全部给了万物生灵。春风,是她细腻的双手。轻叩土壤的门扉,爱抚即将出生的宝贝,尽情展示柔情万种的母亲情怀。春雨,是她甘甜的乳汁。给洁白的云……
在黑夜也能利用太阳发电来源:【科学网】白天,太阳辐射会让地球变热,但当太阳下山时,这些能量就会消失在寒冷的太空中。随着热捕获技术的重大进步,太阳的巨大能量可能很快就能在黑夜中得到利用。近……
手和脚(转载)夜深了,手和脚正对话着。只听手说:脚啊,我们俩每天都在做不同的事情,你说到底谁的本领大呢?脚一脸不屑的表情,扯开嗓子大声叫道:还用说吗,当然是我的本领大了!你看主人到什么……
三年级作文教师节静静的深夜里,群星在闪耀,老师的房间彻夜明亮咦?从哪儿传来了《每当我走过老师窗前》这首歌动听的旋律呢?哦!原来是一位小姑娘唱的。只见一位穿着粉红色的上衣,背着褐色的书包,头上戴……
父亲之笔作文一直觉得父亲是个优秀的田园诗人。春天他写下水稻、大豆,夏天他写下红薯、绿豆,秋天他写下荞麦、萝卜,冬天则写下油菜、小麦。每一首诗都那么郁郁葱葱、元气充盈,让人从心底里生出温暖。……
小学四年级作文奶奶家庭是我们成长的摇篮,家里的每个人都给了我许许多多的爱,但给我印象最深的还是奶奶对我的疼爱。奶奶已经五十多岁了,头发快白完了,淡淡的眉毛下面有一双常常布满血丝的眼睛,一个……
高三日记母亲节同学们,我们从哪里来?听到这个问题,大家肯定都会说,是父母把我们带到世界上来的。是啊,十几年前的某一天,我们的父母用泪水和幸福的笑容迎接了我们的到来。但当我们来到世上的那一刻起……
我和老妈换角色三年级作文今天是星期日,我和妈妈准备实现诺言我当妈妈,她当女儿。一大早,我就起床了,我看见女儿还在睡觉,就学着老妈平时说话的口气:我的宝贝,快快起床。一边说一边还推着她。我心里偷着……
想象作文艾蒿原野的风兔子兔子睁开眼兔子兔子快跳绳绿色的绳子摇了起来兔子兔子睁开眼兔子兔子快跳绳月亮在轻轻摇晃吧天在转了吧歌声渐渐变大,变得有力起来了。三位……
2015高考满分作文议论文你们在,灯亮着朋友,我想问问你,十字路口,看到横穿马路的小孩,你是否会主动地引领引领?公交车上,看到没座的孕妇,你是否会主动地让一让?逆风中,看到艰难爬坡的车子,你是否会主动地推一推hell……
摘抄读书名言警句大全勇猛大胆和坚定的决心能够抵得上武器的精良。达芬奇懒人无法享受休息之乐。拉布克重复别人所说的话,只需要教育;而要挑战别人所说的话,则需要头脑。玛丽佩蒂博恩普尔问……
友商祝贺华为P30系列发布成功,网友OPPO一加很赞,小米最华为P30Pro发布会完满成功之后,国内OPPO、一加、小米等厂商都纷纷表示祝贺,毕竟华为作为我国的牌面大厂,新产品能吊打苹果三星的确令人十分欣喜。但几位友商的祝贺的方式就天差……
想念母亲的主题作文当母亲不在身边的时候,我们都会不由自主地想念母亲。下面是小编推荐给大家的想念母亲的主题作文,希望大家有所收获。想念母亲的主题作文【1】近日有些想母亲,算来,母亲已远行半月……