| execution_hints | {"kind":"ui_navigation","steps":[{"activity":"MainActivity","target":"业务","aliases":["业务","业务Tab","工作台","应用","服务","business","workbench"],"region":"bottom","anchor_type":"bottom_tab","container_role":"tab_bar","action":"tap"},{"page":"业务","target":"每日打卡卡片","aliases":["每日打卡","每日打卡卡片","考勤打卡卡片","考勤卡片","attendance card"],"anchor_type":"card","container_role":"card_grid","action":"tap"},{"page":"打卡","target":"打卡按钮","aliases":["打卡按钮","立即打卡","上班打卡","下班打卡","签到","提交打卡","punch"],"anchor_type":"button","action":"tap","maxAttempts":1},{"page":"打卡","target":"打卡结果","aliases":["打卡成功","已打卡","已完成打卡","打卡时间已更新","打卡时间更新","新的打卡时间","上班打卡成功","下班打卡成功"],"action":"readout","goalReached":true}],"stop_condition":{"page_predicates":["打卡"],"content_predicates":["打卡结果","打卡成功","已打卡","已完成打卡","打卡时间已更新","打卡时间更新","新的打卡时间","上班打卡成功","下班打卡成功"],"success_signals":["打卡成功","已打卡","已完成打卡","打卡时间已更新","打卡时间更新","新的打卡时间","上班打卡成功","下班打卡成功"],"failure_signals":["打卡失败","不在打卡范围","定位失败","网络异常","无权限","未到打卡时间"],"requires_readout":true},"readout_contract":"如果打卡前没有打卡记录,点击打卡后首次打卡时间字段出现,表示打卡成功。如果打卡前已经有打卡记录,点击打卡后末次打卡时间字段变化,表示打卡成功。不要因为页面上已经存在首次或末次时间,就在点击前判定成功;只有点击后的字段出现或字段变化才算成功。"} |