Files
GenericAgent/memory/tmwebdriver_sop.md

33 lines
1.9 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.
```markdown
# TMWebDriver 极简说明L3
- 位置:`../TMWebDriver.py`
- 角色:本项目的 **Web 桥接层**,支撑 `web_scan` / `web_execute_js` 等高层工具。
## 和 WebDriver / Playwright 的关键差异
- 它**不是** Selenium WebDriver 或 Playwright。
- 主要优势:
- 不需要单独开“调试浏览器”或新用户数据目录。
- 可以**直接接管你当前已经在用的浏览器**含现成登录状态、Cookie 等),由 Tampermonkey 脚本转发命令和结果。
- 典型适用场景:
- 在用户日常使用的浏览器里做轻量自动化:读 DOM、执行简单 JS、在当前页面上点按/滚动等。
## 关键限制(未来可能踩坑的点)
- 受浏览器 **InTrusted / 权限策略** 限制,有些操作不能单靠 TMWebDriver 完成:
1. **打开新窗口 / 新标签**
- 已通过 GM_openInTab 替换 window.open 解决。潜在问题:部分浏览器可能仍需用户显式允许脚本打开新标签。
2. **上传文件等受信任交互**
- 通常无法单纯用 JS 填充 `<input type="file">` 等敏感控件。
- 需要配合键鼠控制工具(`ljqCtrl.py` / 控制 SOP在前台模拟真实点击和文件选择。
- **文件上传操作要点**:①点击前用 `SetForegroundWindow` 确保浏览器窗口最前;②用 ljqCtrl 物理点击上传按钮禁止JS click③用 Win32 `FindWindow` 轮询检测文件对话框是否弹出,确认后再输入路径;④操作后同样轮询检测对话框是否关闭,再继续后续步骤。
- 结论:
- TMWebDriver 适合“读信息 + 普通页面操作”;
- 对“新窗口授权、文件上传”这类敏感操作,应默认联想到:**需要和 Ctrl 工具协同**,而不是强行在 JS 里搞定。
```
## 导航避坑
- `web_scan` 仅读当前页,不会导航。
- 切换网站用 `web_execute_js` + `location.href = 'url'`