Python uiautomation操作微信模拟点击

这篇具有很好参考价值的文章主要介绍了Python uiautomation操作微信模拟点击。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Python uiautomation

Python uiautomation 是一个用于自动化 GUI 测试和操作的库,它可以模拟用户操作来执行各种任务。通过这个库,可以使用Python脚本模拟人工点击,人工操作界面。本文使用 Python uiautomation 进行微信电脑版的操作。

微信电脑版

以下是本次实验的版本号。

uiautomation模拟点击360拦截,Python,微信开发,python,微信,自动化

你需要安装 uiautomation

pip install uiautomation

然后使用 uiautomation 进行操作。

代码

import time
import uiautomation as auto
import re
from plyer import notification

notification_history = {}  # 历史消息

def check_wechat_messages():

    # 获取微信窗口
    wechat_win = auto.WindowControl(Name="微信", ClassName="WeChatMainWndForPC")

    shoukuanWin = wechat_win.ListControl(Name="会话")
    bbb = shoukuanWin.GetChildren()

    for chatMsg in bbb:
        if "条新消息" in chatMsg.Name:

            # 计算消息条数
            match = re.match(r'([a-zA-Z0-9]+)(\d+)条新消息', chatMsg.Name)

            if match:
                nickname = match.group(1)
                message_count = int(match.group(2))

                printInfo = f"{nickname} 给你发送了 {message_count} 条消息"
                print(printInfo)
                print("------------")

                # 获取消息列表控件
                xiaoxis = wechat_win.ListControl(Name="消息")
                
                # 获取消息列表控件的子控件
                xiaoxi_children = xiaoxis.GetChildren()

                # 获取最后一个子控件
                last_xiaoxi = xiaoxi_children[-1]

                # 打印最后一条消息的内容
                print(last_xiaoxi.Name)

                # 在指定时间内不重发
                last_notification_time = notification_history.get((nickname, message_count), 0)
                current_time = time.time()

                if current_time - last_notification_time > 15:

                    # 依次发送
                    notification_title = f"来自 {nickname} 的 {message_count} 条消息"
                    notification_message = f"{last_xiaoxi.Name}"

                    notification.notify(
                        title=notification_title,
                        message=notification_message,
                        app_name="WeChat"
                    )

                    # 更新日志
                    notification_history[(nickname, message_count)] = current_time

if __name__ == "__main__":
    try:
        while True:
            check_wechat_messages()
            time.sleep(2)  #2秒检测一次UI组件
    except KeyboardInterrupt:
        print("程序退出~")
    except Exception as e:
        print(f"程序执行出现了问题: {str(e)}")

代码解析:

以上代码使用 uiautomation 实时获取微信聊天列表的消息状态,一旦有消息发过来,就会获取到发送人的微信昵称以及发送的消息内容、消息个数。

uiautomation模拟点击360拦截,Python,微信开发,python,微信,自动化

每2秒获取一次UI控件的内容,实测挂在后台对CPU和内存占用并无明显影响。

结合Python uiautomation的各种用法,可以做成自动回复的功能。

UISpy.exe

使用这款软件,可以获取到微信电脑版大部分控件的内容。

例如:微信聊天列表、群名称、好友微信昵称、群人数、微信号等。

uiautomation模拟点击360拦截,Python,微信开发,python,微信,自动化

还可以获取到群内的每一条聊天内容,获取到你跟好友的聊天记录。

uiautomation模拟点击360拦截,Python,微信开发,python,微信,自动化

只要 UISpy.exe 可获取到的控件内容,那么你用 Python就可以获取到。

作者

TANKING文章来源地址https://www.toymoban.com/news/detail-848924.html

到了这里,关于Python uiautomation操作微信模拟点击的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python uiautomation获取微信内容!聊天记录、聊天列表、全都可获取

    Python uiautomation 是一个用于自动化 GUI 测试和操作的库,它可以模拟用户操作来执行各种任务。 通过这个库,可以使用Python脚本模拟人工点击,人工操作界面。本文使用 Python uiautomation 进行微信电脑版的操作。 以下是本次实验的版本号。 你需要安装 uiautomation 示例代码 代码解

    2024年02月04日
    浏览(62)
  • 微信小程序页面返回操作拦截

    返回操作包括三种情形,右滑手势、安卓物理返回键和调用 navigateBack 接口 微信小程序没有提供类似 onBackPress 监听页面返回的api,在某些特定场景下,业务收到了限制 为了解决这一限制,本文提供了两种较为常用的解决方案 方案一 重写navigationBar 目的是重写左上角返回按钮

    2024年02月08日
    浏览(64)
  • python 模拟后台点击

    from ctypes import windll from ctypes.wintypes import HWND import string import time PostMessageW = windll.user32.PostMessageW MapVirtualKeyW = windll.user32.MapVirtualKeyW VkKeyScanA = windll.user32.VkKeyScanA WM_KEYDOWN = 0x100 WM_KEYUP = 0x101 VkCode = { “back”: 0x08, “tab”: 0x09, “return”: 0x0D, “shift”: 0x10, “control”: 0x11, “menu”

    2024年02月05日
    浏览(25)
  • python 模拟鼠标,键盘点击

    https://www.cnblogs.com/tobe-goodlearner/p/tutorial-pynput.html 信息爆炸 可用于抢红包,直播点击爱心,等等需要点击操作的应用场景

    2024年02月11日
    浏览(58)
  • Python模拟鼠标点击

    其中多进程是为了在点击的同时监听键盘,可以达到随时退出的效果。目前暂时不做代码解析,请各位自己根据注释阅读代码。

    2024年02月13日
    浏览(42)
  • java + Selenium 实现自动化测试,模拟人手点击操作 chrome 浏览器

    引入 maven 依赖: 安装 chromeDriver:略 SeleniumUtils.java: ChromeDriverUtils.java: 使用示例:

    2024年02月11日
    浏览(55)
  • python实现模拟用户点击行为测试

    目录 一、需求背景 二、爬虫需求实战测试 1、目标需求: 可实现遍历访问多个html网页地址

    2024年02月05日
    浏览(33)
  • Python模拟鼠标点击与实时获取鼠标位置

    鼠标点击会用到pymouse库。 在cmd中运行,使用镜像下载 编译器在运行时可能会报错,会出现No module named win32api问题,这是由于Python是没有自带访问windows系统API的库的,需要下载。 在cmd中运行,使用镜像下载pywin32。 time.sleep(num),num值可以自己进行设置,单位为秒。 程序运行

    2024年02月11日
    浏览(54)
  • python 实现模拟鼠标点击器 可运行 附源码

    https://pan.baidu.com/s/1GIZPHQnRQqTD5h1Cy70MNQ?pwd=kxzz 一、前言: 对于一些比较肝的游戏,想要使用工具挂机; 对于一些购物时的抢购,使用工具来帮自己点击抢购,解放双手; 甚至当我们使用电脑时,有些情况下会强制跳出一些窗口,影响某些任务的进展,使用这个工具可以帮忙点

    2024年02月11日
    浏览(42)
  • 手机运行python控制手机app,python模拟手机屏幕点击

    这篇文章主要介绍了手机运行python控制手机app,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。 有线连接真机,实现真机自动化?实现模拟器自动化?在这里,都能满足你的需求! 什么都不说了,直接

    2024年02月03日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包