鱼C论坛

 找回密码
 立即注册
查看: 110|回复: 6

有没有Mac适用的类似wxauto这个库啊

[复制链接]
发表于 2025-7-17 10:22:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 尉尉的可乐 于 2025-7-17 10:28 编辑

有没有Mac适用的类似wxauto这个库啊?
好不容易找到wxauto,看官网时发现不支持Mac
目前AppleScript不可用
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2025-7-17 10:23:25 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2025-7-17 10:27:27 | 显示全部楼层
在Mac上实现微信自动化,目前没有与 wxauto 完全相同的替代库,但可通过以下方案实现类似功能:

### 推荐方案
1. PyAutoGUI(跨平台)  
   通过模拟鼠标键盘操作控制微信,适合基础自动化:
  

  1.    import pyautogui
  2.    import time

  3.    # 示例:发送消息
  4.    time.sleep(3)  # 留出时间切换到微信窗口
  5.    pyautogui.typewrite("Hello from Mac!")  # 输入文本
  6.    pyautogui.press("enter")  # 发送
  7.    
复制代码

   优点: 简单易用,支持图像识别定位元素  
   缺点: 依赖界面坐标,需手动切换窗口

2. AppleScript + Python  
   调用Mac原生脚本控制应用(需微信基础支持):
  

  1.    import os

  2.    script = """
  3.    tell application "WeChat"
  4.        activate
  5.        delay 1
  6.        tell application "System Events"
  7.            keystroke "Hello"
  8.            key code 36  # 回车键
  9.        end tell
  10.    end tell
  11.    """
  12.    os.system(f"osascript -e '{script}'")
  13.    
复制代码

   优点: 直接调用系统级操作  
   缺点: 功能有限,复杂操作困难

### 注意事项
1. 微信无官方API,所有方案均依赖界面模拟,更新后可能失效
2. 部分功能需开启辅助权限:  
   系统设置 > 隐私与安全性 > 辅助功能 > 允许终端/Python脚本
3. 复杂需求(如监听消息)可研究逆向工程,但难度较高

### 建议
- 基础操作:优先用 PyAutoGUI
- 定时任务:结合 cronlaunchd
- 高风险操作:避免批量消息/营销行为,可能封号

> 附:安装PyAutoGUI  
> 终端执行:pip3 install pyautogui

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-7-17 11:26:01 | 显示全部楼层
啊啊啊啊啊啊
有谁知道
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-7-17 11:34:14 | 显示全部楼层
尉尉的可乐 发表于 2025-07-17 11:26
啊啊啊啊啊啊
有谁知道


关于Mac微信自动化的问题,这里总结可行方案(无需嵌套列表):

推荐工具:PyAutoGUI(跨平台)
优点:安装简单,支持图像识别定位  
安装命令:

  1. pip3 install pyautogui
复制代码


基础使用示例:

  1. import pyautogui
  2. import time

  3. # 确保微信窗口已激活(提前3秒手动点击)
  4. time.sleep(3)

  5. # 查找微信联系人图标(需提前截图保存为contact.png)
  6. contact_pos = pyautogui.locateCenterOnScreen('contact.png', confidence=0.8)
  7. if contact_pos:
  8.     pyautogui.click(contact_pos)  # 点击联系人
  9.     time.sleep(1)
  10.     pyautogui.typewrite("Hello Mac!")
  11.     pyautogui.press('enter')  # 发送
  12. else:
  13.     print("未找到联系人图标")
复制代码


关键配置步骤:
1. 系统设置 → 隐私与安全性 → 辅助功能 → 解锁后勾选终端或使用的IDE(如PyCharm)
2. 截图技巧:用Command+Shift+4截取微信界面元素(如联系人/输入框),保存为png放在脚本目录

注意事项:
o 微信更新后需重新截图模板  
o 避免高频操作(可能触发封控)  
o 复杂功能需结合OpenCV提高识别精度(pip3 install opencv-python

替代方案:
o 企业微信有官方API(需公司认证)  
o 网页版微信逆向(不稳定)  
o Automator基础工作流(仅支持点击操作)

> 如遇坐标定位问题,可用pyautogui.displayMousePosition()实时获取鼠标坐标

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-7-17 13:41:45 | 显示全部楼层
本帖最后由 尉尉的可乐 于 2025-7-17 13:43 编辑
FishC 发表于 2025-7-17 11:34
关于Mac微信自动化的问题,这里总结可行方案(无需嵌套列表):

推荐工具:PyAutoGUI(跨平台)


那怎么接收信息
@fishc
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-7-17 13:43:02 | 显示全部楼层
尉尉的可乐 发表于 2025-07-17 13:41
FishC 发表于 2025-7-17 11:34
关于Mac微信自动化的 ...


在Mac上接收微信消息需要更复杂的方案,以下是两种可行方法(需结合使用):

### 方案一:PyAutoGUI + OCR 监控方案
  1. import pyautogui
  2. import pytesseract
  3. from PIL import Image
  4. import time

  5. # 设置监控区域 (左上x, 左上y, 宽度, 高度)
  6. MONITOR_AREA = (300, 200, 400, 300)  # 需调整为聊天窗口位置

  7. def check_new_message():
  8.     # 截取监控区域
  9.     screenshot = pyautogui.screenshot(region=MONITOR_AREA)
  10.    
  11.     # 使用OCR识别文字
  12.     text = pytesseract.image_to_string(screenshot, lang='chi_sim+eng')
  13.    
  14.     # 检查关键字 (示例)
  15.     if "紧急" in text:
  16.         print("发现紧急消息!")
  17.         return True
  18.     return False

  19. # 安装依赖:
  20. # pip3 install pytesseract pillow
  21. # brew install tesseract
复制代码


### 方案二:系统通知监听方案(更可靠)
  1. import os
  2. import re
  3. from datetime import datetime

  4. def parse_notifications():
  5.     """解析系统通知日志"""
  6.     cmd = 'log show --predicate \'subsystem == "com.apple.notificationcenter"\' --last 1m'
  7.     logs = os.popen(cmd).read()
  8.    
  9.     wechat_msgs = []
  10.     for line in logs.splitlines():
  11.         if 'WeChat' in line and 'body' in line:
  12.             # 提取消息内容
  13.             match = re.search(r'body\" = \"(.+?)\"', line)
  14.             if match:
  15.                 msg = match.group(1)
  16.                 wechat_msgs.append(msg)
  17.    
  18.     return wechat_msgs

  19. # 定时执行检查
  20. while True:
  21.     new_msgs = parse_notifications()
  22.     if new_msgs:
  23.         print(f"{datetime.now()} 收到新消息:")
  24.         for msg in new_msgs:
  25.             print(f" - {msg}")
  26.     time.sleep(10)  # 每10秒检查一次
复制代码


### 必要设置步骤:
1. 开启系统权限:
   系统设置 → 隐私与安全性 → 辅助功能 → 解锁 → 勾选终端
   
2. 安装OCR依赖:
  

  1.    # 安装Homebrew(如未安装)
  2.    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  3.    
  4.    # 安装Tesseract
  5.    brew install tesseract
  6.    brew install tesseract-lang  # 中文包
  7.    
  8.    # Python库
  9.    pip3 install pytesseract pillow
  10.    
复制代码


### 注意事项:
1. OCR方案:
   - 需要手动确定聊天窗口位置
   - 识别准确率受字体/背景影响
   - 使用前需校准区域坐标

2. 通知方案:
   - 只能获取显示通知的消息
   - 需开启微信的桌面通知(微信设置 → 新消息通知)
   - 首次运行需在系统弹窗中允许终端访问通知

> 两种方案都只能获取新消息到达提醒,无法获取完整聊天记录。企业微信用户建议使用官方API:https://developer.work.weixin.qq.com

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-27 02:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表