背景:公司要求每个月填140-200套问卷,都是一样的,所以想着通过pywinauto自动化来完成
当我用pywinauto对电脑微信小程序上的问卷进行自动化填写时,填空题内容无法传入。开始以为是无法定位的问题,但后来试了1天发现其实定位是可以完成的,包括对button的点击都是可以完成的,只有在文本传入时,要么显示报错,要么执行完成但是填不进去。
from pywinauto.application import Application
from pywinauto.win32functions import SetFocus
#pplication(backend='uia').start('"C:\Program Files (x86)\Tencent\WeChat\WeChat.exe"')#打开微信
weixin_miniapp= Application(backend='uia').connect(title_re="要有道个人端")#连接小程序
weixin_miniapp_win = weixin_miniapp.window(control_type="Pane",title_re="要有道个人端")#选定小程序窗口
weixin_miniapp_win.click_input()
weixin_miniapp_win['主治医师'].click()
edit=weixin_miniapp_win['Edit']
edit.draw_outline()
edit.click_input()
edit.type_keys('aaaa')
我一开始以为是.window()选不出来,后来加上了化绿色的框,和click_input()发现定位是没问题的
各种版本也都试了,python3.6 python3.10 pywinauto的6.8.0和6.0,pywin32 的302 304 版本全都试了。实在是不知道该怎么办了 .如果想试原版小程序可以联系我用微信发小程序问卷。
有朋友还是觉得我没有定位上这个元素,但确实是定位上了。用的是print_contrl_identifiers()
查找的结果是
使用这个定位无论是画绿色框的draw_outline(),还是鼠标点进去的cllick_input()都是可以实现的,只有输入不行,无论是type_key(),还是set_text()都不行