python根据句柄如何自动点击按钮?
我是利用spy++检测窗口的,测试的是UE编辑器的一个小按钮,它在几层窗口下,所以我就用findwindow和findwindowex来查找窗口,并且前面一直没有出错,而...
我是利用spy++检测窗口的,测试的是UE编辑器的一个小按钮,它在几层窗口下,所以我就用findwindow和findwindowex来查找窗口,并且前面一直没有出错,而且每个步骤一旦修改了值就提示找不到窗口,可见我的查找值都是正确的,但是最后一步的按钮点击却没有生效,不知道什么原因,也没提示错误,贴出来代码请大虾们分析下。
import win32con,win32ui
dlg=win32ui.FindWindow(None,'UltraEdit')
button1=win32ui.FindWindowEx(dlg,None,None,'文件视图')
button2=win32ui.FindWindowEx(button1,None,'SysTabControl32',None)
button3=win32ui.FindWindowEx(button2,None,'#32770',None)
button4=win32ui.FindWindowEx(button3,None,'Button',None)
button4.SendMessage(win32con.BM_CLICK, 0,0)
UE的图片贴上来,红色圈住的部分是我想自动点击的。 展开
import win32con,win32ui
dlg=win32ui.FindWindow(None,'UltraEdit')
button1=win32ui.FindWindowEx(dlg,None,None,'文件视图')
button2=win32ui.FindWindowEx(button1,None,'SysTabControl32',None)
button3=win32ui.FindWindowEx(button2,None,'#32770',None)
button4=win32ui.FindWindowEx(button3,None,'Button',None)
button4.SendMessage(win32con.BM_CLICK, 0,0)
UE的图片贴上来,红色圈住的部分是我想自动点击的。 展开
4个回答
2018-07-31 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
用python的sendkeys直接模拟键盘,用ctype扩展来点鼠标。你需要做的就是用python打开浏览器,然后输入网站,在找到按钮的坐标(固定到程序里),然后点击就行了。不过简单的可以,复杂点的就要考虑很多问题了。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
win32con.BM_CLICK?我似乎对这个消息很陌生。难道是win32con.WM_CLICK.
windows发消息有两种,一种是发出消息 有回应才完成,另一个就是发出消息 就不管了。你再核对一下是哪个函数。
如果不能可以试着使用MOUSE DOWN, MOUSE UP这两个消息 。
不过我印象中,如果最简单的办法还是直接获取全局的鼠标,然后移动指定的位置,mouse down, mouse up。
另外还有一个可能,那个按钮可能并没有处理CLICK消息 ,而是 mouse up,所以即使你是对的也没有用,它不会响应。
windows发消息有两种,一种是发出消息 有回应才完成,另一个就是发出消息 就不管了。你再核对一下是哪个函数。
如果不能可以试着使用MOUSE DOWN, MOUSE UP这两个消息 。
不过我印象中,如果最简单的办法还是直接获取全局的鼠标,然后移动指定的位置,mouse down, mouse up。
另外还有一个可能,那个按钮可能并没有处理CLICK消息 ,而是 mouse up,所以即使你是对的也没有用,它不会响应。
更多追问追答
追问
MOUSE DOWN, MOUSE UP挺好的,能否具体的根据我的内容写的具体点完整点,谢谢!
追答
嗯。似乎有一个工具叫pyhook,里面就有这样的例子,也有这样的函数,特别简单。几句话就弄好了。
看起来你已经接近目标了,也许下一次尝试就成功了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可能需要setfocus
追问
已经前置过,没用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询