@qing3a/flow-rpa-engine 0.5.2 → 0.5.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cdp/page.js CHANGED
@@ -1,7 +1,9 @@
1
1
  import { ExecError as ExecErr } from '../executor.js';
2
- import { Human, IndexOutOfRangeError } from '../human.js';
2
+ import { Human, IndexOutOfRangeError, point } from '../human.js';
3
3
  import { snapshotFromWeb } from '../export.js';
4
4
  import { CdpClient, CdpInputSink, closeTarget, listTargets, openTarget } from './client.js';
5
+ import { CITY_SWITCH_SOURCE, ZHIPIN_CITY_NAMES, cityCodeOfUrl, runCitySwitchUi } from './city-switch.js';
6
+ import { isLoginRoute } from '../region.js';
5
7
  /**
6
8
  * CDP PageOps 适配层 —— executor 的 PageOps 接真实浏览器(移植自 Rust `cdp_page.rs`)。
7
9
  *
@@ -41,6 +43,98 @@ window.__rpaDom = (function() {
41
43
  return [];
42
44
  }
43
45
  }
46
+ // T014 P0-3:区域规则命中判定(单一实现——identifyRegion 与 region: 表达式共用,防逻辑漂移)。
47
+ // T016 P1-4(实跑修复):textContains 用 textContent 而非 innerText——innerText 强制同步重排,
48
+ // 详情面板打开后 DOM 数千元素 × regionContainerOf 全遍历 = 单次 evaluate 数十秒(waitSelector
49
+ // 轮询超时假失败);textContent 不触发重排,语义等价(规则=文本包含,不依赖渲染完成态)。
50
+ function ruleHits(rule, el) {
51
+ const m = rule.match || {};
52
+ let hit = true;
53
+ if (m.textContains && !((el.textContent || '').includes(m.textContains))) hit = false;
54
+ if (m.textContainsAll && Array.isArray(m.textContainsAll)) {
55
+ const txt = el.textContent || '';
56
+ for (const kw of m.textContainsAll) {
57
+ if (!txt.includes(kw)) { hit = false; break; }
58
+ }
59
+ }
60
+ if (m.hasInput && !el.querySelector('input, textarea')) hit = false;
61
+ if (m.hasButton && !el.querySelector('button, a[role="button"], [role="button"]')) hit = false;
62
+ if (m.ancestorTag && !(el.tagName || '').toLowerCase().includes(m.ancestorTag)) hit = false;
63
+ if (m.ancestorClass && !((el.className || '').toString().includes(m.ancestorClass))) hit = false;
64
+ return hit;
65
+ }
66
+ // T014 P0-1:元素所属区域标签(走元素自身→祖先,首个规则命中即返回;无 → null)
67
+ function regionLabelOf(el, rules) {
68
+ let cur = el;
69
+ for (let d = 0; d < 5 && cur; d++) {
70
+ for (const r of rules) {
71
+ if (ruleHits(r, cur)) return { label: r.label, ruleId: r.id };
72
+ }
73
+ cur = cur.parentElement;
74
+ }
75
+ return null;
76
+ }
77
+ // T014 P0-3 + T016 P1-3:区域主容器解析(region:<标签> 与寻址共用):
78
+ // self-match 候选(面积 < 视口)中,取「有实质父候选的最浅实质候选」——详情区文本链
79
+ // container ⊃ box ⊃ body ⊃ h3:box 的父 container 是实质候选、body 的父 box 也是,取最浅
80
+ // = box(含头部经验/学历/薪资 + 正文,T016 P1-3 修复——原「最深实质」选到 body 丢头部);
81
+ // 且避开含边栏/求职意向的包裹层 container(USAGE-ISSUES #16);
82
+ // 无实质父候选(列表 ul 自身、短文本搜索表单)→ 回退最大面积。
83
+ function regionContainerOf(label, rules) {
84
+ const vw = innerWidth || document.documentElement.clientWidth || 1000;
85
+ const vh = innerHeight || document.documentElement.clientHeight || 800;
86
+ const vpArea = vw * vh;
87
+ const matches = [];
88
+ // T016 P1-4(实跑修复):全遍历只用样式属性过滤(getComputedStyle 不触发布局),
89
+ // rect 仅在规则命中后读取(命中元素极少)——避免详情面板打开后对数千元素各读一次
90
+ // getBoundingClientRect/innerText 的 O(n) 同步重排(waitSelector 轮询 evaluate 数十秒假超时)。
91
+ for (const el of Array.from(document.querySelectorAll('body *'))) {
92
+ if (!(el.textContent || '').trim()) continue;
93
+ const s = getComputedStyle(el);
94
+ if (s.display === 'none' || s.visibility === 'hidden' || parseFloat(s.opacity) === 0) continue;
95
+ for (const r of rules) {
96
+ if (r.label === label && ruleHits(r, el)) {
97
+ const rect = el.getBoundingClientRect();
98
+ const area = rect.width * rect.height;
99
+ if (area > 0 && area < vpArea) matches.push({ el, area });
100
+ break;
101
+ }
102
+ }
103
+ }
104
+ if (matches.length === 0) return null;
105
+ const depthOf = (el) => {
106
+ let d = 0;
107
+ let cur = el.parentElement;
108
+ while (cur) { d++; cur = cur.parentElement; }
109
+ return d;
110
+ };
111
+ // 实质候选:文本 ≥100 字(短文本区域如搜索表单 → 用全部候选)
112
+ const pool = matches.filter((m) => (m.el.textContent || '').trim().length >= 100);
113
+ const candidates = pool.length > 0 ? pool : matches;
114
+ // 有实质父候选的(嵌套在另一个实质候选内——内容容器而非包裹层)
115
+ const withParent = candidates.filter((m) => candidates.some((o) => o.el !== m.el && containsNode(o.el, m.el)));
116
+ let best = null;
117
+ if (withParent.length > 0) {
118
+ // 最浅者(详情区 box 深于 container 但浅于 body)
119
+ for (const m of withParent) {
120
+ if (!best || depthOf(m.el) < depthOf(best.el)) best = m;
121
+ }
122
+ } else {
123
+ for (const m of candidates) {
124
+ if (!best || m.area > best.area) best = m;
125
+ }
126
+ }
127
+ return best ? best.el : null;
128
+ }
129
+ // a 是否 b 的祖先(region 容器「有实质父候选」判定用)
130
+ function containsNode(a, b) {
131
+ let cur = b.parentElement;
132
+ while (cur) {
133
+ if (cur === a) return true;
134
+ cur = cur.parentElement;
135
+ }
136
+ return false;
137
+ }
44
138
  function getBySels(selector) {
45
139
  // A3 数组链(#17 修复):依次尝试,第一个命中的返回
46
140
  if (Array.isArray(selector)) {
@@ -52,6 +146,38 @@ window.__rpaDom = (function() {
52
146
  }
53
147
  const sel = String(selector);
54
148
  if (sel.startsWith('text:')) return byText(sel.slice(5));
149
+ // T014 P0-3 + T016:region:<标签>[ >> [子选择器] >> <n>] —— 引擎内部区域寻址表达式。
150
+ // 规则由 setRegionRules 注入(随流程包分发,引擎零业务逻辑;仲裁:注入规则已按档案 seen 重排)。
151
+ // 主容器解析(regionContainerOf):self-match 候选(面积 < 视口)中取「有实质父候选的最浅
152
+ // 实质候选」(详情区 box 含头部+正文,见 USAGE-ISSUES #16/#21 与 T016 P1-3);无 → 最大面积。
153
+ // 寻址语义(T016 P0-1 修订——猎头 0.5.6 验收:枚举全部可交互元素会点到卡片内公司链接):
154
+ // 'region:<标签> >>' = 区域主容器的**卡片级直接子项**(可见 + 有实质文本;
155
+ // 列表区 = ul.rec-job-list 的直接子项 li/div 卡片,index 作用于卡片)
156
+ // 'region:<标签> >> <n>' = 第 n 个(0 起)卡片级子项
157
+ // 'region:<标签> >> <子选择器> >>' = 区域内匹配子选择器的全部可见元素(混合寻址)
158
+ // 'region:<标签> >> <子选择器> >> <n>' = 其中第 n 个
159
+ if (sel.startsWith('region:')) {
160
+ const rest = sel.slice(7).trim();
161
+ const parts = rest.split('>>').map((p) => p.trim());
162
+ const label = parts[0] || '';
163
+ const rules = (window.__rpaDom && window.__rpaDom._regionRules) || [];
164
+ const container = regionContainerOf(label, rules);
165
+ if (!container) return [];
166
+ if (parts.length === 1) return [container];
167
+ const sub = parts.length >= 3 ? parts[1] : '';
168
+ const idxPart = parts.length >= 3 ? parts[2] : parts[1] ?? '';
169
+ let nodes;
170
+ if (sub) {
171
+ nodes = Array.from(container.querySelectorAll(sub)).filter(isVisible);
172
+ } else {
173
+ // 卡片级直接子项(T016 P0-1:避免点到卡片内公司链接等内部可交互元素)
174
+ // T016 P1-4:textContent(不强制重排;innerText 在详情面板打开后拖慢 evaluate)
175
+ nodes = Array.from(container.children).filter(isVisible).filter((el) => (el.textContent || '').trim().length > 0);
176
+ }
177
+ if (idxPart === '') return nodes;
178
+ const n = Number(idxPart);
179
+ return Number.isInteger(n) && n >= 0 && n < nodes.length ? [nodes[n]] : [];
180
+ }
55
181
  // #16-B 编号寻址(虚拟空间视觉):#N = numberedElements 列表第 N 个可见交互元素(1 起)。
56
182
  // 快照编号与寻址共用同一枚举 → Agent/日志可「看编号直接点」;编号随 DOM 变化,操作时现取。
57
183
  const numMatch = sel.match(/^#(\d+)$/);
@@ -86,6 +212,24 @@ window.__rpaDom = (function() {
86
212
  el.scrollIntoView({ block: 'center', inline: 'center' });
87
213
  return true;
88
214
  }
215
+ // T012 P1-2:轻量拟人滚动——分段渐进滚动(2~5 段,段间 30~120ms 随机节奏),
216
+ // 终位与 scrollIntoView 一致(block:center)——只改节奏不改落点,功能不回归。
217
+ // T016 P1-4(实跑修复):改为**同步**实现。原异步版依赖页面 setTimeout 链,而页面主线程
218
+ // 繁忙(详情面板渲染/每步 pageText 同步重排)时 setTimeout 被极端节流 → promise 永不
219
+ // resolve → CDP evaluate awaitPromise 挂起(仅靠 60s 命令超时兜底,表现为偶发卡死)。
220
+ // 同步版落点不变(分段缓动改为直接 scrollTo + scrollIntoView block:center),
221
+ // 返回 true(与旧同步失败分支 false 兼容);evaluate awaitPromise 对同步值立即返回。
222
+ function scrollIntoViewRhythm(selector, index) {
223
+ const el = pick(selector, index);
224
+ if (!el) return false;
225
+ const vh = innerHeight || document.documentElement.clientHeight || 600;
226
+ const rect = el.getBoundingClientRect();
227
+ const curTop = pageYOffset || document.documentElement.scrollTop || 0;
228
+ const targetY = curTop + rect.top - (vh - Math.min(rect.height, vh)) / 2;
229
+ window.scrollTo(0, Math.round(targetY));
230
+ el.scrollIntoView({ block: 'center', inline: 'center' });
231
+ return true;
232
+ }
89
233
  function textOf(selector, index) {
90
234
  const el = pick(selector, index);
91
235
  return el ? (el.innerText || el.textContent || '') : '';
@@ -130,6 +274,7 @@ window.__rpaDom = (function() {
130
274
  // 只有可重定位的语义特征(tag/文本截断/placeholder/aria-label/name)——无坐标无原文。
131
275
  // 掩码前移(铁律):表单元素(input/textarea/select)绝不取 value——那是用户输入值
132
276
  // (搜索词/电话等敏感原文),落盘即违规;表单锚点只用 placeholder/name/aria-label。
277
+ // T014 P1-4:附加所在区域标签(region)——锚点只在同一区域复用(规则由 setRegionRules 注入)。
133
278
  function describeHit(selector, index) {
134
279
  const el = pick(selector, index);
135
280
  if (!el) return null;
@@ -137,17 +282,21 @@ window.__rpaDom = (function() {
137
282
  const isForm = tag === 'input' || tag === 'textarea' || tag === 'select';
138
283
  const t = isForm ? '' : (el.innerText || el.textContent || '').trim().slice(0, 30);
139
284
  const get = (k) => { try { return el.getAttribute(k) || undefined; } catch (e) { return undefined; } };
285
+ const rules = (window.__rpaDom && window.__rpaDom._regionRules) || [];
286
+ const regionHit = rules.length > 0 ? regionLabelOf(el, rules) : null;
140
287
  return {
141
288
  tag,
142
289
  ...(t ? { text: t } : {}),
143
290
  ...(get('placeholder') ? { placeholder: get('placeholder') } : {}),
144
291
  ...(get('aria-label') ? { ariaLabel: get('aria-label') } : {}),
145
292
  ...(get('name') ? { name: get('name') } : {}),
293
+ ...(regionHit ? { region: regionHit.label } : {}),
146
294
  };
147
295
  }
148
296
  // #16-B/P2 区域识别:目标元素向上遍历祖先(≤5 层),用行为规则匹配出区域标签。
149
297
  // 规则(behavior.rules.json 随流程包分发,引擎零业务逻辑):全部 match 条件满足才命中。
150
298
  // 返回 { label, ruleId, ancestry }——ancestry 为祖先链摘要(抗改版重定位用)。
299
+ // T014:条件判定统一走 ruleHits(与 region: 表达式共用,防漂移)。
151
300
  function identifyRegion(selector, index, rulesJson) {
152
301
  const target = pick(selector, index);
153
302
  if (!target) return null;
@@ -162,20 +311,7 @@ window.__rpaDom = (function() {
162
311
  }
163
312
  // 用规则匹配当前祖先
164
313
  for (const r of rules) {
165
- const m = r.match || {};
166
- let hit = true;
167
- if (m.textContains && !((el.innerText || '').includes(m.textContains))) hit = false;
168
- if (m.textContainsAll && Array.isArray(m.textContainsAll)) {
169
- const txt = el.innerText || '';
170
- for (const kw of m.textContainsAll) {
171
- if (!txt.includes(kw)) { hit = false; break; }
172
- }
173
- }
174
- if (m.hasInput && !el.querySelector('input, textarea')) hit = false;
175
- if (m.hasButton && !el.querySelector('button, a[role="button"], [role="button"]')) hit = false;
176
- if (m.ancestorTag && !(el.tagName || '').toLowerCase().includes(m.ancestorTag)) hit = false;
177
- if (m.ancestorClass && !((el.className || '').toString().includes(m.ancestorClass))) hit = false;
178
- if (hit) {
314
+ if (ruleHits(r, el)) {
179
315
  return { label: r.label, ruleId: r.id, ancestry: ancestry.slice(0, 3) };
180
316
  }
181
317
  }
@@ -183,6 +319,14 @@ window.__rpaDom = (function() {
183
319
  }
184
320
  return { label: undefined, ruleId: undefined, ancestry: ancestry.slice(0, 3) };
185
321
  }
322
+ // T014 P0-3:注入区域规则(behavior.rules.json 随流程包分发;region: 表达式与 describeHit
323
+ // 区域标注共用;引擎零业务逻辑——只存规则 JSON)。幂等:重复注入覆盖。
324
+ function setRegionRules(rulesJson) {
325
+ let rules = [];
326
+ try { rules = JSON.parse(rulesJson || '[]'); } catch (e) { rules = []; }
327
+ window.__rpaDom._regionRules = rules;
328
+ return true;
329
+ }
186
330
  // #16-A 点击前遮挡检测:返回 (x,y) 处最顶层元素 + 该元素是否属于目标(目标或其后代)
187
331
  function hitTestAt(selector, index, x, y) {
188
332
  const target = pick(selector, index);
@@ -213,8 +357,19 @@ window.__rpaDom = (function() {
213
357
  blocker = blocker.parentElement;
214
358
  }
215
359
  if (!blocker || blocker === document.body) return null;
360
+ // 关闭按钮搜索范围:遮挡者自身 + 其对话框祖先(T014 阶段 2 实跑发现:残留对话框的
361
+ // .dialog-layer 遮罩下关闭按钮在 dialog-wrap 内——v-leave 卡住的对话框遮挡整页时,
362
+ // 引擎点击其关闭按钮兜底关闭,重试目标点击)。
363
+ let scope = blocker;
364
+ let walk = blocker.parentElement;
365
+ while (walk && walk !== document.body) {
366
+ if (/(dialog|layer|mask|modal|popup|panel)/i.test((walk.className || '').toString()) && walk.getBoundingClientRect().width > 0) {
367
+ scope = walk;
368
+ }
369
+ walk = walk.parentElement;
370
+ }
216
371
  // 关闭按钮候选:class 含 close / 图标按钮 / 文本 ×
217
- const closeBtns = [...blocker.querySelectorAll('a,button,[role="button"],i,span,div')].filter((el) => {
372
+ const closeBtns = [...scope.querySelectorAll('a,button,[role="button"],i,span,div')].filter((el) => {
218
373
  const cls = (el.className || '').toString();
219
374
  const txt = (el.innerText || '').trim();
220
375
  const r = el.getBoundingClientRect();
@@ -282,6 +437,17 @@ window.__rpaDom = (function() {
282
437
  });
283
438
  continue;
284
439
  }
440
+ // T014 阶段 2 实跑发现:残留对话框 mask(visibility:hidden / opacity:0 的全屏遮罩——
441
+ // zhipin 城市选择器关闭后 .dialog-layer 留在 DOM)会被 elementFromPoint 命中,但真实
442
+ // 指针事件穿透(不可见元素不参与命中测试)→ 不构成真实遮挡,视为 hit(防 ESC 死循环)。
443
+ const topStyle = getComputedStyle(top);
444
+ if (topStyle.visibility === 'hidden' || parseFloat(topStyle.opacity) === 0) {
445
+ out.push({
446
+ x: Math.round(x), y: Math.round(y), w: Math.round(w), h: Math.round(h),
447
+ hit: true, danger: false, safe: null, partiallyVisible: false, top: null, target: describeEl(el),
448
+ });
449
+ continue;
450
+ }
285
451
  const belongs = top === el || el.contains(top);
286
452
  const isInteractiveChild = top !== el && el.contains(top) && top.closest && top.closest(INTERACTIVE) === top;
287
453
  // 中心被盖/危险 → 扫描矩形内部找安全点(5×5 网格,避开交互子元素与遮挡)
@@ -331,10 +497,20 @@ window.__rpaDom = (function() {
331
497
  // 兜底:中心点(可能危险,由引擎侧再判断)
332
498
  return { x: Math.round(t.left + t.width / 2), y: Math.round(t.top + t.height / 2) };
333
499
  }
334
- return { getBySels, scrollIntoView, textOf, focusInput, pageText, numberedElements, describeEl, describeHit, hitTestAt, clickableRects, safePointIn, identifyRegion, findDialogClose };
500
+ return { getBySels, scrollIntoView, scrollIntoViewRhythm, textOf, focusInput, pageText, numberedElements, describeEl, describeHit, hitTestAt, clickableRects, safePointIn, identifyRegion, findDialogClose, setRegionRules, _domVersion: 3 };
335
501
  })();
336
502
  true
337
503
  `;
504
+ /**
505
+ * T007 P0-1:input 事件补派发(insertText 改 DOM value 不触发 input 事件——React 受控组件
506
+ * onChange 同步 state 需要;BATCH-D:导出为 const,mock 回归可直接求值,避免测试复制漂移)。
507
+ */
508
+ export const INPUT_EVENT_DISPATCH = `(() => {
509
+ const el = document.activeElement;
510
+ if (el && typeof el.dispatchEvent === 'function') {
511
+ el.dispatchEvent(new Event('input', { bubbles: true }));
512
+ }
513
+ })()`;
338
514
  /** ENV_CHECK 检测注入脚本(A1;页面端一次 evaluate 返回全部信号) */
339
515
  export function envCheckSource(envCheck) {
340
516
  const verifyUrls = (envCheck.verifyUrls ?? []).map((u) => JSON.stringify(u));
@@ -373,6 +549,8 @@ export class CdpPage {
373
549
  human;
374
550
  /** ENV_CHECK 配置(flow.json 顶层 envCheck;缺省不检测) */
375
551
  envCheck;
552
+ /** T014 P0-3:区域规则 JSON(behavior.rules.json 的 regionRules 数组;region: 表达式/区域标注用) */
553
+ regionRulesJson = '';
376
554
  constructor(port, sim) {
377
555
  this.port = port;
378
556
  this.sim = sim;
@@ -381,6 +559,10 @@ export class CdpPage {
381
559
  setEnvCheck(config) {
382
560
  this.envCheck = config;
383
561
  }
562
+ /** T014 P0-3:设置区域规则(behavior.rules.json 的 regionRules 数组;region: 表达式与 describeHit 区域标注用) */
563
+ setRegionRules(rulesJson) {
564
+ this.regionRulesJson = rulesJson;
565
+ }
384
566
  /** 确保浏览器调试实例在跑(端口不可连则拉起 Edge;edgePath 空则直接报错) */
385
567
  async ensureBrowser(edgePath, userDataDir) {
386
568
  // 检查调试端口是否可连(/json/list);不可连且给了 edgePath → 拉起 Edge
@@ -430,6 +612,11 @@ export class CdpPage {
430
612
  }) ?? undefined;
431
613
  const t = reuse ?? (await openTarget(url, this.port));
432
614
  const client = await CdpClient.connect(t.wsUrl);
615
+ // 提前绑定 human/targetId(T012 P0-1:复用标签同路由的城市切换需要拟人点击层)
616
+ this.targetId = t.id;
617
+ this.openedThisRun = !reuse;
618
+ this.human = new Human(new CdpInputSink(client), this.sim);
619
+ let needNav = false;
433
620
  if (reuse) {
434
621
  // 复用标签:host+path 相同则跳过导航(忽略 query——zhipin 会带 _security_check 等参数,
435
622
  // 精确比较会触发重新导航 → 安全校验重定向 → 页面刷新丢失状态)
@@ -443,9 +630,19 @@ export class CdpPage {
443
630
  }
444
631
  })();
445
632
  if (!sameRoute) {
446
- await client.send('Page.navigate', { url });
633
+ needNav = true;
634
+ }
635
+ else {
636
+ // T012 P0-1:地区切换界面优先——同路由但城市不同 → 城市选择器 UI 操作;
637
+ // UI 失败必回退 URL 导航(导航可靠性优先,不引入新失败)
638
+ if (!(await this.trySwitchCityViaUi(url))) {
639
+ needNav = true;
640
+ }
447
641
  }
448
642
  }
643
+ if (needNav) {
644
+ await client.send('Page.navigate', { url });
645
+ }
449
646
  // 等待页面 readyState=complete(不强制成功,verify/wait_selector 兜底)
450
647
  const deadline = Date.now() + OPEN_READY_TIMEOUT_MS;
451
648
  for (;;) {
@@ -454,9 +651,6 @@ export class CdpPage {
454
651
  break;
455
652
  await sleep(200);
456
653
  }
457
- this.targetId = t.id;
458
- this.openedThisRun = !reuse;
459
- this.human = new Human(new CdpInputSink(client), this.sim);
460
654
  // #16-A 窄视口自动最大化:检测视口宽度,< MIN_VIEWPORT_WIDTH 则最大化窗口
461
655
  // (真实窗口操作 Browser.setWindowBounds,非设备模拟——反检测安全,用户确认方案)
462
656
  await this.ensureViewportWidth(client);
@@ -536,11 +730,23 @@ export class CdpPage {
536
730
  const client = this.currentClient();
537
731
  // 版本感知:#16-A 引入 clickableRects;持久 tab 可能残留旧版 __rpaDom(引擎升级后复用),
538
732
  // 仅查存在性会漏注入 → clickableRects 调用失败。检查关键 API,缺失则重新注入。
539
- // P3:describeHit(语义锚点指纹采集)也纳入版本检查。
540
- const has = await client.evaluate('!!(window.__rpaDom && window.__rpaDom.clickableRects && window.__rpaDom.getBySels && window.__rpaDom.identifyRegion && window.__rpaDom.describeHit)').catch(() => false);
733
+ // P3:describeHit(语义锚点指纹采集)也纳入版本检查;T012 P1-2:scrollIntoViewRhythm;
734
+ // T014 P0-3:setRegionRules + _domVersion(region: 表达式/describeHit 区域标注;版本号防旧注入残留)。
735
+ const has = await client.evaluate('!!(window.__rpaDom && window.__rpaDom.clickableRects && window.__rpaDom.getBySels && window.__rpaDom.identifyRegion && window.__rpaDom.describeHit && window.__rpaDom.scrollIntoViewRhythm && window.__rpaDom.setRegionRules && window.__rpaDom._domVersion >= 3)').catch(() => false);
736
+ if (!has)
737
+ await client.evaluate(DOM_SOURCE);
738
+ // T014 P0-3:注入区域规则(flow 专属;每次 ensureDom 重注入保证与当前 flow 一致——复用标签跨流程场景)
739
+ if (this.regionRulesJson.length > 0) {
740
+ await client.evaluate(`window.__rpaDom.setRegionRules(${this.jsStr(this.regionRulesJson)})`).catch(() => undefined);
741
+ }
742
+ }
743
+ /** 注入城市对话框 DOM 辅助(T012 P0-1;幂等:已有 cityLabelPos 则跳过) */
744
+ async ensureCityDom() {
745
+ const client = this.currentClient();
746
+ const has = await client.evaluate('!!(window.__rpaDom && window.__rpaDom.cityLabelPos && window.__rpaDom.cityGroupItem)').catch(() => false);
541
747
  if (has)
542
748
  return;
543
- await client.evaluate(DOM_SOURCE);
749
+ await client.evaluate(CITY_SWITCH_SOURCE);
544
750
  }
545
751
  /** JS 字符串字面量(selector 插值安全) */
546
752
  jsStr(s) {
@@ -579,13 +785,56 @@ export class CdpPage {
579
785
  }
580
786
  // ---- PageOps ----
581
787
  async navigate(url) {
788
+ // T012 P0-1:轻量拟人——导航前随机预延迟(人类「决定」后出发;不引入新失败)
789
+ await sleep(300 + Math.floor(Math.random() * 900));
582
790
  if (!this.targetId) {
583
791
  await this.open(url);
584
792
  return;
585
793
  }
586
794
  const client = this.currentClient();
795
+ // T012 P0-1:地区切换界面操作优先(zhipin 城市选择器);失败回退 URL 参数导航
796
+ if (await this.trySwitchCityViaUi(url)) {
797
+ return;
798
+ }
587
799
  await client.send('Page.navigate', { url });
588
800
  }
801
+ /**
802
+ * T012 P0-1:地区切换「界面操作优先」——zhipin 城市选择器 UI 路径,URL 参数仅兜底。
803
+ * 返回 true = UI 切换成功(或已是目标城市);false = 调用方回退 URL 导航。
804
+ * 导航可靠性优先:任何一步失败/超时都返回 false,绝不因拟人引入新失败。
805
+ * 仅当目标 URL 为 zhipin 且带 city 参数时尝试;其余直接返回 false(行为不变)。
806
+ * 决策流在 city-switch.runCitySwitchUi(接口驱动,mock 可确定性测试——BATCH-D)。
807
+ */
808
+ async trySwitchCityViaUi(url) {
809
+ const code = cityCodeOfUrl(url);
810
+ if (!code)
811
+ return false;
812
+ const name = ZHIPIN_CITY_NAMES[code];
813
+ if (!name)
814
+ return false;
815
+ const human = this.human;
816
+ if (!human)
817
+ return false;
818
+ try {
819
+ const client = this.currentClient();
820
+ // 真实点击需要标签页前台(CDP Input 只派发到聚焦页)
821
+ await client.send('Page.bringToFront', {}).catch(() => undefined);
822
+ await this.ensureCityDom();
823
+ const page = {
824
+ evaluate: (expr) => client.evaluate(expr),
825
+ clickAt: async (x, y) => {
826
+ await human.mouseClick(point(x, y));
827
+ },
828
+ currentUrl: async () => String(await client.evaluate('location.href').catch(() => '')),
829
+ sleep: async (ms) => sleep(ms),
830
+ log: (msg) => console.log(`[flow-rpa] ${msg}`),
831
+ };
832
+ return await runCitySwitchUi(code, name, page);
833
+ }
834
+ catch {
835
+ return false; // UI 路径失败静默回退 URL(导航可靠性优先)
836
+ }
837
+ }
589
838
  async click(selector, index) {
590
839
  const human = this.human;
591
840
  if (!human)
@@ -599,8 +848,8 @@ export class CdpPage {
599
848
  const beforeRoute = this.routeKey(beforeUrl);
600
849
  // T010 P2-5:记录点击前 tab id 集合(新标签误点检测基线)
601
850
  const beforeTabIds = new Set((await listTargets(this.port).catch(() => [])).map((t) => t.id));
602
- // 滚动到目标可见(index 指定的第 i 个)
603
- await client.evaluate(`window.__rpaDom.scrollIntoView(${this.jsStr(selector)}, ${index})`);
851
+ // 滚动到目标可见(index 指定的第 i 个)——T012 P1-2:轻量拟人滚动节奏(分段渐进)
852
+ await client.evaluate(`window.__rpaDom.scrollIntoViewRhythm(${this.jsStr(selector)}, ${index})`);
604
853
  // 拟人点击:index 语义(D-L2)——点第 i 个元素;越界 = 列表耗尽 → category=index_out_of_range
605
854
  let clicked = 0;
606
855
  try {
@@ -698,20 +947,15 @@ export class CdpPage {
698
947
  await this.ensureDom();
699
948
  await this.checkEnv();
700
949
  const client = this.currentClient();
701
- // 滚动到可见 + 聚焦 + 全选(全选使键盘输入替换已有内容)
702
- await client.evaluate(`window.__rpaDom.scrollIntoView(${this.jsStr(selector)}, 0) && window.__rpaDom.focusInput(${this.jsStr(selector)}, 0)`);
950
+ // 滚动到可见(T012 P1-2:轻量拟人滚动节奏)+ 聚焦前小延迟
951
+ await client.evaluate(`window.__rpaDom.scrollIntoViewRhythm(${this.jsStr(selector)}, 0)`);
952
+ await sleep(60 + Math.floor(Math.random() * 140));
953
+ await client.evaluate(`window.__rpaDom.focusInput(${this.jsStr(selector)}, 0)`);
703
954
  await human.keyboardInput(value, {});
704
955
  // T007 P0-1(重开)真因修复:insertText(中文路径)直接改 DOM value 但**不触发 input 事件**——
705
956
  // React 受控组件靠 onChange 同步 state,事件缺失 → React state 仍空 → 搜索提交空值(搜"产品经理"得默认结果)。
706
957
  // 补派发一次 input 事件让 React 读到最新 DOM value(全文),与 DOM value 断言一起构成真实输入验证。
707
- await client
708
- .evaluate(`(() => {
709
- const el = document.activeElement;
710
- if (el && typeof el.dispatchEvent === 'function') {
711
- el.dispatchEvent(new Event('input', { bubbles: true }));
712
- }
713
- })()`)
714
- .catch(() => undefined);
958
+ await client.evaluate(INPUT_EVENT_DISPATCH).catch(() => undefined);
715
959
  // T006 P0-1:输入后读 input.value 真实断言(防静默失败——中文变问号/输入被拒时立即报错而非假成功)
716
960
  try {
717
961
  const actual = String(await client.evaluate(`(() => {
@@ -875,13 +1119,9 @@ export class CdpPage {
875
1119
  const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
876
1120
  /**
877
1121
  * T005 P0-2:路由命中登录页特征(host+path;平台无关特征词:/login /passport /captcha /web/user/ 等)。
878
- * 点击后跳转到登录页 = 未登录(不是误点链接)——报「请先登录」,用户登录后重跑即可。
1122
+ * T014 P0-2:定义上移至 region.ts 统一实现(登录区双重特征),此处再导出保兼容(测试/调用方不变)。
879
1123
  */
880
- export function isLoginRoute(route) {
881
- const slash = route.indexOf('/');
882
- const path = slash >= 0 ? route.slice(slash) : route;
883
- return /\/login|\/passport|\/captcha|\/web\/user\//i.test(path);
884
- }
1124
+ export { isLoginRoute } from '../region.js';
885
1125
  /**
886
1126
  * T005 P1-3:报错文案选择器消毒——selector 含占位符形态({...} 未替换变量 / <...> 掩码残留)时不泄漏
887
1127
  * 原文,显示友好描述(避免用户看到「点击 <keyword> 后页面跳转」这类占位符泄漏)。
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/cdp/page.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/cdp/page.ts"],"names":[],"mappings":"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"}