栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

python win32模拟点击

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python win32模拟点击

由于ctypes,您可以使用低级Windows API。请参见下面的示例(改编自我未测试过的内容,但应该可以)

import ctypesMOUSEEVENTF_MOVE = 0x0001 # mouse moveMOUSEEVENTF_ABSOLUTE = 0x8000 # absolute moveMOUSEEVENTF_MOVEABS = MOUSEEVENTF_MOVE + MOUSEEVENTF_ABSOLUTEMOUSEEVENTF_LEFTDOWN = 0x0002 # left button down MOUSEEVENTF_LEFTUP = 0x0004 # left button up MOUSEEVENTF_CLICK = MOUSEEVENTF_LEFTDOWN + MOUSEEVENTF_LEFTUPdef click(x, y):    #move first    x = 65536L * x / ctypes.windll.user32.GetSystemMetrics(0) + 1    y = 65536L * y / ctypes.windll.user32.GetSystemMetrics(1) + 1    ctypes.windll.user32.mouse_event(MOUSEEVENTF_MOVEABS, x, y, 0, 0)    #then click    ctypes.windll.user32.mouse_event(MOUSEEVENTF_CLICK, 0, 0, 0, 0)

更新:我没有测试下面的代码,但我认为它应该可以帮助您编写一些内容来获得孩子的位置。然后,您可以尝试单击正确的位置。

CHILD= Nonedef the_callback(child_hwnd, regex):    '''Pass to win32gui.EnumWindows() to check all the opened windows'''    if re.match(regex, win32gui.GetWindowText(child_hwnd)):        CHILD= child_hwndwin32gui.EnumChildWindows(hwnd, the_callback, regex)if CHILD:    (x_tl, y_tl, x_br, y_br) = win32gui.GetWindowRect(CHILD)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/645176.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号