Files
test/README.md
Ke 8960436379 添加窗口钓鱼自动化脚本
- 实现窗口识别和激活功能
- 添加钓鱼和收杆消息发送
- 支持可配置时间间隔和循环次数
- 包含完整的日志记录和错误处理
- 提供测试模式和详细文档
- 添加.gitignore和requirements.txt
2026-04-02 14:54:45 +08:00

136 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 窗口钓鱼自动化脚本
这是一个用于自动化钓鱼操作的Python脚本可以识别指定窗口并循环发送钓鱼和收杆消息。
## 功能特点
- 自动查找并激活目标窗口
- 发送钓鱼和收杆消息(可自定义按键)
- 时间间隔可配置
- 支持有限循环或无限循环
- 完整的日志记录
- 错误处理和重试机制
## 系统要求
- Python 3.6+
- Windows系统支持macOS/Linux但可能需要调整
## 安装依赖
```bash
pip install -r requirements.txt
```
或者手动安装:
```bash
pip install pyautogui pygetwindow
```
## 使用方法
### 基本使用
```bash
# 使用默认设置(窗口标题包含"魔兽世界"间隔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` 文件中的以下方法:
1. `send_fishing_message()` - 默认按 'F' 键
2. `send_reel_message()` - 默认按空格键
可以修改为其他按键,例如:
```python
# 改为按 '1' 键
pyautogui.press('1')
# 组合键
pyautogui.hotkey('ctrl', 'f')
# 鼠标点击
pyautogui.click(x=100, y=200)
```
## 稳定性验证
脚本包含以下稳定性措施:
1. **错误处理**所有关键操作都有try-catch保护
2. **日志记录**:详细日志记录到文件和终端
3. **窗口重试**:每次循环都会重新查找窗口,避免窗口丢失
4. **用户中断**支持Ctrl+C安全退出
5. **资源管理**循环间有短暂暂停避免CPU占用过高
### 验证方法
1. **功能测试**
```bash
python main.py --test
```
检查是否能正确找到窗口、激活窗口。
2. **短期运行测试**
```bash
python main.py --cycles 10 --interval 2
```
运行10个周期观察是否有错误。
3. **日志检查**
查看 `fishing_bot.log` 文件,确认没有异常错误。
4. **压力测试**
```bash
# 长时间运行如1000个周期
python main.py --cycles 1000 --interval 5
```
## 注意事项
1. **窗口焦点**:脚本需要激活目标窗口,期间不要操作鼠标键盘
2. **时间间隔**:根据实际游戏需要调整间隔时间
3. **防检测**:某些游戏禁止自动化,使用前请了解游戏规则
4. **分辨率**:脚本不依赖于屏幕坐标,但窗口需要可见
## 故障排除
### 找不到窗口
- 确认窗口标题正确
- 窗口是否最小化或隐藏
- 尝试使用部分标题匹配
### 按键不起作用
- 确认游戏窗口处于激活状态
- 检查游戏按键设置
- 尝试增加激活后的等待时间
### 权限问题
- 以管理员身份运行(某些游戏需要)
- 关闭杀毒软件或防火墙的干扰
## 许可证
MIT License