窗口钓鱼自动化脚本
这是一个用于自动化钓鱼操作的Python脚本,可以识别指定窗口并循环发送钓鱼和收杆消息。
功能特点
- 自动查找并激活目标窗口
- 发送钓鱼和收杆文字消息(可自定义内容)
- 时间间隔可配置
- 支持有限循环或无限循环
- 完整的日志记录
- 错误处理和重试机制
系统要求
- Python 3.6+
- Windows系统(支持macOS/Linux但可能需要调整)
安装依赖
pip install -r requirements.txt
或者手动安装:
pip install pyautogui pygetwindow
使用方法
基本使用
# 使用默认设置(窗口标题包含"魔兽世界",间隔5秒,无限循环)
python main.py
# 指定窗口标题和间隔
python main.py --window "游戏窗口" --interval 10.0
# 指定循环次数
python main.py --window "游戏窗口" --cycles 100
# 测试模式(检查功能是否正常)
python main.py --test
命令行参数
| 参数 | 简写 | 默认值 | 说明 |
|---|---|---|---|
--window |
-w |
"魔兽世界" |
目标窗口标题(支持部分匹配) |
--interval |
-i |
5.0 |
钓鱼和收杆之间的时间间隔(秒) |
--cycles |
-c |
0 |
循环次数(0表示无限循环) |
--test |
-t |
False |
测试模式,只运行一个周期并显示详细信息 |
自定义消息
如果需要修改发送的钓鱼/收杆消息内容,请编辑 main.py 文件中的以下方法:
send_fishing_message()- 默认输入 "钓鱼" 文字send_reel_message()- 默认输入 "收杆" 文字
可以修改为其他文字或按键操作,例如:
# 改为其他文字
pyautogui.typewrite('开始钓鱼')
# 改为按键操作
pyautogui.press('f')
# 组合键发送
pyautogui.hotkey('enter')
稳定性验证
脚本包含以下稳定性措施:
- 错误处理:所有关键操作都有try-catch保护
- 日志记录:详细日志记录到文件和终端
- 窗口重试:每次循环都会重新查找窗口,避免窗口丢失
- 用户中断:支持Ctrl+C安全退出
- 资源管理:循环间有短暂暂停,避免CPU占用过高
验证方法
-
功能测试:
python main.py --test检查是否能正确找到窗口、激活窗口。
-
短期运行测试:
python main.py --cycles 10 --interval 2运行10个周期,观察是否有错误。
-
日志检查: 查看
fishing_bot.log文件,确认没有异常错误。 -
压力测试:
# 长时间运行(如1000个周期) python main.py --cycles 1000 --interval 5
注意事项
- 窗口焦点:脚本需要激活目标窗口,期间不要操作鼠标键盘
- 时间间隔:根据实际游戏需要调整间隔时间
- 防检测:某些游戏禁止自动化,使用前请了解游戏规则
- 分辨率:脚本不依赖于屏幕坐标,但窗口需要可见
- 中文输入:脚本直接输入中文字符,请确保输入法处于英文状态或游戏支持直接输入
- 回车确认:如需在输入后按回车发送,可在
typewrite()后添加pyautogui.press('enter')
故障排除
找不到窗口
- 确认窗口标题正确
- 窗口是否最小化或隐藏
- 尝试使用部分标题匹配
消息不起作用
- 确认游戏窗口处于激活状态
- 检查输入法状态,确保处于英文输入模式
- 确认游戏聊天框已打开并可以输入文字
- 如需回车发送,在代码中添加
pyautogui.press('enter') - 尝试增加激活后的等待时间
权限问题
- 以管理员身份运行(某些游戏需要)
- 关闭杀毒软件或防火墙的干扰
许可证
MIT License
Description
Languages
Python
100%