diff --git a/captcha_failures/20260227_151126_791769/bg.png b/captcha_failures/20260227_151126_791769/bg.png new file mode 100644 index 0000000..3fd8cdb Binary files /dev/null and b/captcha_failures/20260227_151126_791769/bg.png differ diff --git a/captcha_failures/20260227_151126_791769/bg_overlay.png b/captcha_failures/20260227_151126_791769/bg_overlay.png new file mode 100644 index 0000000..4dee616 Binary files /dev/null and b/captcha_failures/20260227_151126_791769/bg_overlay.png differ diff --git a/captcha_failures/20260227_151126_791769/page.png b/captcha_failures/20260227_151126_791769/page.png new file mode 100644 index 0000000..2d1b687 Binary files /dev/null and b/captcha_failures/20260227_151126_791769/page.png differ diff --git a/captcha_failures/20260227_151126_791769/piece.png b/captcha_failures/20260227_151126_791769/piece.png new file mode 100644 index 0000000..9668d5d Binary files /dev/null and b/captcha_failures/20260227_151126_791769/piece.png differ diff --git a/captcha_failures/20260227_151126_791769/report.json b/captcha_failures/20260227_151126_791769/report.json new file mode 100644 index 0000000..fdc1604 --- /dev/null +++ b/captcha_failures/20260227_151126_791769/report.json @@ -0,0 +1,112 @@ +{ + "created_at": "2026-02-27T15:11:27", + "failure_reason": "第4次拖动未触发 hn_userEquitys/getYanZhenMa/v2", + "analysis": { + "summary": "拼图匹配置信度偏低,背景与缺口特征区分不明显,易出现位移误差。", + "hypotheses": [ + "拼图匹配置信度偏低,背景与缺口特征区分不明显,易出现位移误差。", + "接口已返回失败状态,说明滑块校验请求已发出但服务端未判定通过。", + "多次拖动均未捕获到目标接口,请检查接口监听地址是否变化。", + "验证码弹窗仍可见,当前 challenge 未完成。" + ], + "metrics": { + "confidence_ratio": 1.001760677219003, + "best_score": 34.645924453735354, + "second_best": 34.706924743652344, + "attempt_count": 4, + "packet_count": 0, + "track_max": 312 + } + }, + "match": { + "target_x": 14, + "piece_bbox_x0": 2, + "piece_bbox_y0": 39, + "piece_bbox_w": 43, + "piece_bbox_h": 40, + "bg_width": 310, + "bg_height": 155, + "drag_distance": 12, + "best_score": 34.645924453735354, + "best_color_score": 38.63548278808594, + "best_grad_score": 24.387060165405273, + "second_best": 34.706924743652344, + "confidence_ratio": 1.001760677219003, + "candidate_target_xs": [ + 14, + 16, + 12, + 19, + 21 + ], + "candidate_drag_distances": [ + 12, + 14, + 10, + 17, + 19 + ] + }, + "layout": { + "bg_display_w": 350.0, + "slider_w": 40.0, + "bar_w": 352.0, + "sub_w": 53.0, + "track_max": 312 + }, + "move_distances": [ + 14, + 13, + 15, + 12, + 16, + 11, + 17, + 18, + 19, + 10, + 9, + 8, + 20, + 21, + 22 + ], + "attempts": [ + { + "index": 1, + "move_distance": 14, + "boundary_hit": false, + "packet_received": false, + "toast": "", + "interface_error": "第1次拖动未触发 hn_userEquitys/getYanZhenMa/v2", + "verify_bar_visible_after": true + }, + { + "index": 2, + "move_distance": 13, + "boundary_hit": false, + "packet_received": false, + "toast": "", + "interface_error": "第2次拖动未触发 hn_userEquitys/getYanZhenMa/v2", + "verify_bar_visible_after": true + }, + { + "index": 3, + "move_distance": 15, + "boundary_hit": false, + "packet_received": false, + "toast": "", + "interface_error": "第3次拖动未触发 hn_userEquitys/getYanZhenMa/v2", + "verify_bar_visible_after": true + }, + { + "index": 4, + "move_distance": 12, + "boundary_hit": false, + "packet_received": false, + "toast": "", + "interface_error": "第4次拖动未触发 hn_userEquitys/getYanZhenMa/v2", + "verify_bar_visible_after": true + } + ] +} \ No newline at end of file diff --git a/captcha_failures/20260227_153824_598091/bg.png b/captcha_failures/20260227_153824_598091/bg.png new file mode 100644 index 0000000..d7050da Binary files /dev/null and b/captcha_failures/20260227_153824_598091/bg.png differ diff --git a/captcha_failures/20260227_153824_598091/bg_overlay.png b/captcha_failures/20260227_153824_598091/bg_overlay.png new file mode 100644 index 0000000..a0b23e7 Binary files /dev/null and b/captcha_failures/20260227_153824_598091/bg_overlay.png differ diff --git a/captcha_failures/20260227_153824_598091/page.png b/captcha_failures/20260227_153824_598091/page.png new file mode 100644 index 0000000..4af07a9 Binary files /dev/null and b/captcha_failures/20260227_153824_598091/page.png differ diff --git a/captcha_failures/20260227_153824_598091/piece.png b/captcha_failures/20260227_153824_598091/piece.png new file mode 100644 index 0000000..28fedb4 Binary files /dev/null and b/captcha_failures/20260227_153824_598091/piece.png differ diff --git a/captcha_failures/20260227_153824_598091/report.json b/captcha_failures/20260227_153824_598091/report.json new file mode 100644 index 0000000..5774cbd --- /dev/null +++ b/captcha_failures/20260227_153824_598091/report.json @@ -0,0 +1,98 @@ +{ + "created_at": "2026-02-27T15:38:24", + "failure_reason": "接口返回失败: code=1001; body={'code': 1001, 'msg': '短信验证码已发送,请稍后重试', 'data': None, 'pageCount': None}", + "analysis": { + "summary": "接口已返回失败状态,说明滑块校验请求已发出但服务端未判定通过。", + "hypotheses": [ + "接口已返回失败状态,说明滑块校验请求已发出但服务端未判定通过。" + ], + "metrics": { + "confidence_ratio": 2.7583005213197644, + "best_score": 15.925160903930664, + "second_best": 43.926379623413084, + "attempt_count": 1, + "packet_count": 1, + "track_max": 312 + } + }, + "match": { + "target_x": 115, + "piece_bbox_x0": 2, + "piece_bbox_y0": 2, + "piece_bbox_w": 43, + "piece_bbox_h": 40, + "bg_width": 310, + "bg_height": 155, + "drag_distance": 113, + "best_score": 15.925160903930664, + "best_color_score": 18.22208023071289, + "best_grad_score": 10.018796920776367, + "second_best": 43.926379623413084, + "confidence_ratio": 2.7583005213197644, + "candidate_target_xs": [ + 115, + 14, + 24, + 16, + 12 + ], + "candidate_drag_distances": [ + 113, + 12, + 22, + 14, + 10 + ] + }, + "layout": { + "bg_display_w": 350.0, + "slider_w": 40.0, + "bar_w": 352.0, + "sub_w": 53.0, + "track_max": 312 + }, + "move_distances": [ + 128, + 127, + 129, + 126, + 130, + 125, + 131, + 14, + 13, + 15, + 12, + 16, + 11, + 17, + 25, + 24, + 26, + 23, + 27, + 22, + 28, + 18, + 19 + ], + "attempts": [ + { + "index": 1, + "move_distance": 128, + "boundary_hit": false, + "packet_received": true, + "toast": "加载中...", + "interface_error": "接口返回失败: code=1001; body={'code': 1001, 'msg': '短信验证码已发送,请稍后重试', 'data': None, 'pageCount': None}", + "verify_bar_visible_after": false, + "confidence_ratio": 2.7583005213197644, + "candidate_count": 23, + "response_body": { + "code": 1001, + "msg": "短信验证码已发送,请稍后重试", + "data": null, + "pageCount": null + } + } + ] +} \ No newline at end of file diff --git a/captcha_failures/20260227_153847_135606/bg.png b/captcha_failures/20260227_153847_135606/bg.png new file mode 100644 index 0000000..e55312e Binary files /dev/null and b/captcha_failures/20260227_153847_135606/bg.png differ diff --git a/captcha_failures/20260227_153847_135606/bg_overlay.png b/captcha_failures/20260227_153847_135606/bg_overlay.png new file mode 100644 index 0000000..2a2c871 Binary files /dev/null and b/captcha_failures/20260227_153847_135606/bg_overlay.png differ diff --git a/captcha_failures/20260227_153847_135606/page.png b/captcha_failures/20260227_153847_135606/page.png new file mode 100644 index 0000000..cf3af92 Binary files /dev/null and b/captcha_failures/20260227_153847_135606/page.png differ diff --git a/captcha_failures/20260227_153847_135606/piece.png b/captcha_failures/20260227_153847_135606/piece.png new file mode 100644 index 0000000..3df9698 Binary files /dev/null and b/captcha_failures/20260227_153847_135606/piece.png differ diff --git a/captcha_failures/20260227_153847_135606/report.json b/captcha_failures/20260227_153847_135606/report.json new file mode 100644 index 0000000..6872b06 --- /dev/null +++ b/captcha_failures/20260227_153847_135606/report.json @@ -0,0 +1,89 @@ +{ + "created_at": "2026-02-27T15:38:47", + "failure_reason": "接口返回失败: code=1001; body={'code': 1001, 'msg': '短信验证码已发送,请稍后重试', 'data': None, 'pageCount': None}", + "analysis": { + "summary": "接口已返回失败状态,说明滑块校验请求已发出但服务端未判定通过。", + "hypotheses": [ + "接口已返回失败状态,说明滑块校验请求已发出但服务端未判定通过。" + ], + "metrics": { + "confidence_ratio": 1.3639336034221823, + "best_score": 29.388627929687498, + "second_best": 40.084137191772456, + "attempt_count": 1, + "packet_count": 1, + "track_max": 312 + } + }, + "match": { + "target_x": 155, + "piece_bbox_x0": 0, + "piece_bbox_y0": 63, + "piece_bbox_w": 46, + "piece_bbox_h": 46, + "bg_width": 310, + "bg_height": 155, + "drag_distance": 155, + "best_score": 29.388627929687498, + "best_color_score": 37.00245666503906, + "best_grad_score": 9.810211181640625, + "second_best": 40.084137191772456, + "confidence_ratio": 1.3639336034221823, + "candidate_target_xs": [ + 155, + 153, + 157, + 151, + 159 + ], + "candidate_drag_distances": [ + 155, + 153, + 157, + 151, + 159 + ] + }, + "layout": { + "bg_display_w": 350.0, + "slider_w": 40.0, + "bar_w": 352.0, + "sub_w": 53.0, + "track_max": 312 + }, + "move_distances": [ + 175, + 174, + 176, + 173, + 177, + 172, + 178, + 171, + 170, + 179, + 180, + 169, + 168, + 167 + ], + "attempts": [ + { + "index": 1, + "move_distance": 175, + "boundary_hit": false, + "packet_received": true, + "toast": "加载中...", + "interface_error": "接口返回失败: code=1001; body={'code': 1001, 'msg': '短信验证码已发送,请稍后重试', 'data': None, 'pageCount': None}", + "verify_bar_visible_after": false, + "confidence_ratio": 1.3639336034221823, + "candidate_count": 14, + "response_body": { + "code": 1001, + "msg": "短信验证码已发送,请稍后重试", + "data": null, + "pageCount": null + } + } + ] +} \ No newline at end of file diff --git a/captcha_failures/20260227_153905_928166/bg.png b/captcha_failures/20260227_153905_928166/bg.png new file mode 100644 index 0000000..41d5469 Binary files /dev/null and b/captcha_failures/20260227_153905_928166/bg.png differ diff --git a/captcha_failures/20260227_153905_928166/bg_overlay.png b/captcha_failures/20260227_153905_928166/bg_overlay.png new file mode 100644 index 0000000..1d0e89b Binary files /dev/null and b/captcha_failures/20260227_153905_928166/bg_overlay.png differ diff --git a/captcha_failures/20260227_153905_928166/page.png b/captcha_failures/20260227_153905_928166/page.png new file mode 100644 index 0000000..b6cc7b3 Binary files /dev/null and b/captcha_failures/20260227_153905_928166/page.png differ diff --git a/captcha_failures/20260227_153905_928166/piece.png b/captcha_failures/20260227_153905_928166/piece.png new file mode 100644 index 0000000..ee8a2f8 Binary files /dev/null and b/captcha_failures/20260227_153905_928166/piece.png differ diff --git a/captcha_failures/20260227_153905_928166/report.json b/captcha_failures/20260227_153905_928166/report.json new file mode 100644 index 0000000..3421859 --- /dev/null +++ b/captcha_failures/20260227_153905_928166/report.json @@ -0,0 +1,109 @@ +{ + "created_at": "2026-02-27T15:39:06", + "failure_reason": "接口返回失败: code=1001; body={'code': 1001, 'msg': '短信验证码已发送,请稍后重试', 'data': None, 'pageCount': None}", + "analysis": { + "summary": "接口已返回失败状态,说明滑块校验请求已发出但服务端未判定通过。", + "hypotheses": [ + "接口已返回失败状态,说明滑块校验请求已发出但服务端未判定通过。" + ], + "metrics": { + "confidence_ratio": 1.471892132223149, + "best_score": 28.148667907714845, + "second_best": 41.43180282592773, + "attempt_count": 2, + "packet_count": 1, + "track_max": 312 + } + }, + "match": { + "target_x": 190, + "piece_bbox_x0": 2, + "piece_bbox_y0": 1, + "piece_bbox_w": 42, + "piece_bbox_h": 43, + "bg_width": 310, + "bg_height": 155, + "drag_distance": 188, + "best_score": 28.148667907714845, + "best_color_score": 33.68326187133789, + "best_grad_score": 13.916854858398438, + "second_best": 41.43180282592773, + "confidence_ratio": 1.471892132223149, + "candidate_target_xs": [ + 190, + 210, + 212, + 218, + 208 + ], + "candidate_drag_distances": [ + 188, + 208, + 210, + 216, + 206 + ] + }, + "layout": { + "bg_display_w": 350.0, + "slider_w": 40.0, + "bar_w": 352.0, + "sub_w": 53.0, + "track_max": 312 + }, + "move_distances": [ + 212, + 211, + 213, + 210, + 214, + 209, + 215, + 235, + 234, + 236, + 233, + 237, + 232, + 238, + 239, + 240, + 244, + 243, + 245, + 242, + 246, + 241, + 247 + ], + "attempts": [ + { + "index": 1, + "move_distance": 133, + "boundary_hit": false, + "packet_received": false, + "toast": "", + "interface_error": "第1次拖动未触发 hn_userEquitys/getYanZhenMa/v2", + "verify_bar_visible_after": true, + "confidence_ratio": 1.0061521276326306, + "candidate_count": 13 + }, + { + "index": 2, + "move_distance": 211, + "boundary_hit": false, + "packet_received": true, + "toast": "加载中...", + "interface_error": "接口返回失败: code=1001; body={'code': 1001, 'msg': '短信验证码已发送,请稍后重试', 'data': None, 'pageCount': None}", + "verify_bar_visible_after": false, + "confidence_ratio": 1.471892132223149, + "candidate_count": 23, + "response_body": { + "code": 1001, + "msg": "短信验证码已发送,请稍后重试", + "data": null, + "pageCount": null + } + } + ] +} \ No newline at end of file diff --git a/captcha_failures/20260227_153925_147678/bg.png b/captcha_failures/20260227_153925_147678/bg.png new file mode 100644 index 0000000..056dac1 Binary files /dev/null and b/captcha_failures/20260227_153925_147678/bg.png differ diff --git a/captcha_failures/20260227_153925_147678/bg_overlay.png b/captcha_failures/20260227_153925_147678/bg_overlay.png new file mode 100644 index 0000000..48e415e Binary files /dev/null and b/captcha_failures/20260227_153925_147678/bg_overlay.png differ diff --git a/captcha_failures/20260227_153925_147678/page.png b/captcha_failures/20260227_153925_147678/page.png new file mode 100644 index 0000000..47f5d6c Binary files /dev/null and b/captcha_failures/20260227_153925_147678/page.png differ diff --git a/captcha_failures/20260227_153925_147678/piece.png b/captcha_failures/20260227_153925_147678/piece.png new file mode 100644 index 0000000..9f810f1 Binary files /dev/null and b/captcha_failures/20260227_153925_147678/piece.png differ diff --git a/captcha_failures/20260227_153925_147678/report.json b/captcha_failures/20260227_153925_147678/report.json new file mode 100644 index 0000000..3d38d0f --- /dev/null +++ b/captcha_failures/20260227_153925_147678/report.json @@ -0,0 +1,106 @@ +{ + "created_at": "2026-02-27T15:39:25", + "failure_reason": "接口返回失败: code=1001; body={'code': 1001, 'msg': '验证码已发送,请稍等', 'data': None, 'pageCount': None}", + "analysis": { + "summary": "接口已返回失败状态,说明滑块校验请求已发出但服务端未判定通过。", + "hypotheses": [ + "接口已返回失败状态,说明滑块校验请求已发出但服务端未判定通过。" + ], + "metrics": { + "confidence_ratio": 4.009981116087693, + "best_score": 12.419983940124512, + "second_best": 49.80390106201172, + "attempt_count": 2, + "packet_count": 1, + "track_max": 312 + } + }, + "match": { + "target_x": 138, + "piece_bbox_x0": 2, + "piece_bbox_y0": 98, + "piece_bbox_w": 42, + "piece_bbox_h": 43, + "bg_width": 310, + "bg_height": 155, + "drag_distance": 136, + "best_score": 12.419983940124512, + "best_color_score": 12.866386413574219, + "best_grad_score": 11.27209186553955, + "second_best": 49.80390106201172, + "confidence_ratio": 4.009981116087693, + "candidate_target_xs": [ + 138, + 213, + 216, + 140, + 203 + ], + "candidate_drag_distances": [ + 136, + 211, + 214, + 138, + 201 + ] + }, + "layout": { + "bg_display_w": 350.0, + "slider_w": 40.0, + "bar_w": 352.0, + "sub_w": 53.0, + "track_max": 312 + }, + "move_distances": [ + 154, + 153, + 155, + 152, + 156, + 151, + 157, + 238, + 237, + 239, + 236, + 240, + 235, + 241, + 242, + 243, + 244, + 245, + 158, + 159 + ], + "attempts": [ + { + "index": 1, + "move_distance": 242, + "boundary_hit": false, + "packet_received": false, + "toast": "", + "interface_error": "第1次拖动未触发 hn_userEquitys/getYanZhenMa/v2", + "verify_bar_visible_after": true, + "confidence_ratio": 1.0035736595418623, + "candidate_count": 14 + }, + { + "index": 2, + "move_distance": 153, + "boundary_hit": false, + "packet_received": true, + "toast": "加载中...", + "interface_error": "接口返回失败: code=1001; body={'code': 1001, 'msg': '验证码已发送,请稍等', 'data': None, 'pageCount': None}", + "verify_bar_visible_after": false, + "confidence_ratio": 4.009981116087693, + "candidate_count": 20, + "response_body": { + "code": 1001, + "msg": "验证码已发送,请稍等", + "data": null, + "pageCount": null + } + } + ] +} \ No newline at end of file diff --git a/captcha_failures/20260227_153943_581062/bg.png b/captcha_failures/20260227_153943_581062/bg.png new file mode 100644 index 0000000..2a83dec Binary files /dev/null and b/captcha_failures/20260227_153943_581062/bg.png differ diff --git a/captcha_failures/20260227_153943_581062/bg_overlay.png b/captcha_failures/20260227_153943_581062/bg_overlay.png new file mode 100644 index 0000000..bed14f7 Binary files /dev/null and b/captcha_failures/20260227_153943_581062/bg_overlay.png differ diff --git a/captcha_failures/20260227_153943_581062/page.png b/captcha_failures/20260227_153943_581062/page.png new file mode 100644 index 0000000..ac82099 Binary files /dev/null and b/captcha_failures/20260227_153943_581062/page.png differ diff --git a/captcha_failures/20260227_153943_581062/piece.png b/captcha_failures/20260227_153943_581062/piece.png new file mode 100644 index 0000000..e336757 Binary files /dev/null and b/captcha_failures/20260227_153943_581062/piece.png differ diff --git a/captcha_failures/20260227_153943_581062/report.json b/captcha_failures/20260227_153943_581062/report.json new file mode 100644 index 0000000..b118c7b --- /dev/null +++ b/captcha_failures/20260227_153943_581062/report.json @@ -0,0 +1,94 @@ +{ + "created_at": "2026-02-27T15:39:43", + "failure_reason": "接口返回失败: code=1001; body={'code': 1001, 'msg': '短信验证码已发送,请稍后重试', 'data': None, 'pageCount': None}", + "analysis": { + "summary": "接口已返回失败状态,说明滑块校验请求已发出但服务端未判定通过。", + "hypotheses": [ + "接口已返回失败状态,说明滑块校验请求已发出但服务端未判定通过。" + ], + "metrics": { + "confidence_ratio": 1.321970439980659, + "best_score": 32.19862548828125, + "second_best": 42.56563110351563, + "attempt_count": 1, + "packet_count": 1, + "track_max": 312 + } + }, + "match": { + "target_x": 176, + "piece_bbox_x0": 2, + "piece_bbox_y0": 76, + "piece_bbox_w": 43, + "piece_bbox_h": 40, + "bg_width": 310, + "bg_height": 155, + "drag_distance": 174, + "best_score": 32.19862548828125, + "best_color_score": 38.412689208984375, + "best_grad_score": 16.2196044921875, + "second_best": 42.56563110351563, + "confidence_ratio": 1.321970439980659, + "candidate_target_xs": [ + 176, + 206, + 204, + 208, + 202 + ], + "candidate_drag_distances": [ + 174, + 204, + 202, + 206, + 200 + ] + }, + "layout": { + "bg_display_w": 350.0, + "slider_w": 40.0, + "bar_w": 352.0, + "sub_w": 53.0, + "track_max": 312 + }, + "move_distances": [ + 196, + 195, + 197, + 194, + 198, + 193, + 199, + 230, + 229, + 231, + 228, + 232, + 227, + 233, + 226, + 225, + 234, + 235, + 236 + ], + "attempts": [ + { + "index": 1, + "move_distance": 196, + "boundary_hit": false, + "packet_received": true, + "toast": "加载中...", + "interface_error": "接口返回失败: code=1001; body={'code': 1001, 'msg': '短信验证码已发送,请稍后重试', 'data': None, 'pageCount': None}", + "verify_bar_visible_after": false, + "confidence_ratio": 1.321970439980659, + "candidate_count": 19, + "response_body": { + "code": 1001, + "msg": "短信验证码已发送,请稍后重试", + "data": null, + "pageCount": null + } + } + ] +} \ No newline at end of file diff --git a/test1.py b/test1.py index 79aa650..c5615e8 100644 --- a/test1.py +++ b/test1.py @@ -1051,9 +1051,15 @@ def main() -> None: def input_code(page, code): - page.ele('x://input[@placeholder="请输入验证码"]').input(code) + page.ele('x://input[@placeholder="请输入验证码"]').input(code,clear=True) + time.sleep(0.5) + + page.listen.start("hn_userEquitys/common/order") page.ele('x://*[@id="app"]/div/img').click(by_js=True) + time.sleep(0.5) page.ele('x://*[@id="app"]/div/div[7]/div/div[3]/button[2]').click(by_js=True) + res = page.listen.wait() + print(res.response.body) if __name__ == "__main__": main()