安全扫描
OpenClaw
安全
high confidence代码、指令和需求内部一致:该技能使用 Selenium 和 Chrome 远程调试会话自动化在所述 HR 网页应用中提交餐补表单,且不请求无关凭证或网络端点。
评估建议
这个技能看起来确实如它所说:在贵公司的 i-wework 站点使用 Selenium 和 Chrome 远程调试会话自动化餐补提交。在使用之前:(1) 自行检查完整源代码(分发的脚本在本地运行且可编辑);(2) 使用专用配置文件运行 Chrome(脚本重用远程调试会话和 --user-data-dir),以便它们不在您的主浏览器配置文件中操作;(3) 理解它会将截图和 CSV 保存到技能目录/TEMP;(4) 由于代码使用 exec(...) 来加载 meal_subsidy.py 并可自动启动 Chrome,只有在您信任作者或已检查过代码后才使用它 — 远程调试会暴露本地端口 (9222),可能在浏览器打开时允许其他本地进程控制该浏览器,因此应避免在不安全的网络上暴露它。如果您想要更高的保证,请在隔离环境(VM/容器)中运行脚本,并在运行前检查文件的截断部分。...详细分析 ▾
✓ 用途与能力
名称/描述(自动申请餐补)与代码和 SKILL.md 匹配:脚本使用 Selenium 从 https://i-wework.2haohr.com 读取考勤并填写/提交餐补表单。此用途需要预期工具(Chrome、chromedriver、selenium)。
ℹ 指令范围
运行时指令聚焦:启动 Chrome 远程调试,交互式登录,然后运行 Python 脚本导航 HR 站点、截图、填写表单、上传截图并保存本地 CSV。脚本仅在技能文件夹和 TEMP(用于 user-data-dir)下读写本地文件,且仅与声明的目标 URL 交互。注意:代码使用 USERPROFILE/%TEMP% 路径并在本地保存截图/csv;它还在页面中执行注入的 JS(表单填写所需)。
✓ 安装机制
注册表中无安装规范;SKILL.md 要求用户 pip install selenium。技能包中无远程下载或压缩包提取。代码可能通过 subprocess(本地二进制文件)自动启动 Chrome,这对于基于 Chrome 的 Selenium 自动化是预期的。
✓ 凭证需求
技能声明无所需环境变量或凭证。代码确实引用了 USERPROFILE 并使用 os.path.expandvars 来查找 chromedriver 并在 TEMP 下设置 user-data-dir — 这些是 Windows 的合理本地路径用法,并不意味着访问无关的密钥或外部服务。
✓ 持久化与权限
always 为 false 且技能不请求持久化的平台级权限。它使用专用的 user-data-dir 自动启动 Chrome,但不修改其他技能或代理级设置。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv1.2.02026/4/7
截图改为只截当天那格,不再截整页日历
● 无害
安装命令 点击复制
官方npx clawhub@latest install meal-subsidy
镜像加速npx clawhub@latest install meal-subsidy --registry https://cn.clawhub-mirror.com
技能文档
自动读取2号人事部考勤,判断下班时间是否满足餐补条件,全自动填写并提交。
申请条件
| 下班时间 | 餐补 |
|---|---|
| ≥ 20:30 | 20元 |
| 00:00 ~ 06:00(跨天) | 40元 |
| 其他 | 不申请 |
触发指令(对小特说)
| 指令 | 效果 |
|---|---|
| "申请餐补" | 查昨天,满足则申请 |
| "申请4月7日餐补" | 查指定日期(默认当年,如2026年4月7日) |
| "申请4月餐补" | 查整个4月(默认当年),批量申请所有满足条件的日期 |
| "本周餐补" | 批量申请本周所有满足条件的日期 |
快速开始(3步)
第一步:安装依赖
pip install selenium
第二步:启动 Chrome 远程调试(只需一次)
"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222
Mac:/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222打开后扫码登录 https://i-wework.2haohr.com/desk/home,之后运行无需重复登录。
如果报错 "cannot connect to chrome",先执行此步骤
第三步:运行脚本
# 申请指定日期(默认昨天)
python meal_subsidy.py --date 2026-04-07# 申请整月(批量)
python meal_month.py 2026 4
截图说明
| 文件 | 内容 |
|---|---|
screenshots/attendance_YYYYMMDD.png | 考勤截图(上传用) |
screenshots/meal_form.png | 餐补表单截图 |
screenshots/meal_before_submit.png | 提交前确认 |
screenshots/after_submit.png | 提交后截图 |
screenshots/attendance_late_YYYYMM.csv | 申请记录表 |
依赖
| 依赖 | 说明 |
|---|---|
| Python 3.8+ | 语言环境 |
| selenium | pip install selenium |
| Chrome 浏览器 | 系统已安装即可 |
| ChromeDriver | 自动查找,无需手动安装 |
常见问题
Q: 报错 "cannot connect to chrome at 127.0.0.1:9222"
A: Chrome 没有以远程调试模式启动。按第二步重新启动 Chrome。
Q: 提示 "登录超时"
A: 需要先在 Chrome 里手动扫码登录一次(只需一次)。
Q: 提交流程正常但上传的截图不对
A: 请确保 Chrome 打开了考勤页面(显示日期和下班时间),再运行脚本。
技术说明
- iView picker 填写:直接 send_keys 无效,必须用 JS 原生 setter 触发 Vue 响应式
- Chrome 复用:自动连接端口 9222,已登录状态不丢失
- iframe 处理:餐补表单在 iframe 内,JS 直接跨帧操作
.ivu-date-picker - 自动启动:端口 9222 不可用时,脚本会自动启动新的带调试端口的 Chrome
数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制
免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制