@qing3a/flow-rpa-engine 0.5.8 → 0.5.9
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.d.ts +1 -1
- package/dist/cdp/page.js +14 -0
- package/dist/cdp/page.js.map +1 -1
- package/dist/human.js +78 -19
- package/dist/human.js.map +1 -1
- package/dist/record.js +15 -5
- package/dist/record.js.map +1 -1
- package/package.json +2 -1
package/dist/cdp/page.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ import type { HitFingerprint } from '../behavior.js';
|
|
|
17
17
|
* T1 simcheck:模拟质量评分(验收工具,不进生产链路)。
|
|
18
18
|
*/
|
|
19
19
|
/** 页面内 DOM 辅助(window.__rpaDom) */
|
|
20
|
-
export declare const DOM_SOURCE = "\nwindow.__rpaDom = (function() {\n function isVisible(el) {\n if (!el || el.nodeType !== 1) return false;\n const s = window.getComputedStyle(el);\n if (s.display === 'none' || s.visibility === 'hidden' || parseFloat(s.opacity) === 0) return false;\n const r = el.getBoundingClientRect();\n return r.width > 0 && r.height > 0;\n }\n function byText(text) {\n const needle = String(text).trim();\n const visible = Array.from(document.querySelectorAll('body *')).filter(isVisible);\n const leaf = visible.filter(el => el.children.length === 0);\n const exact = leaf.filter(el => (el.textContent || '').trim() === needle);\n if (exact.length > 0) return exact;\n return leaf.filter(el => (el.textContent || '').includes(needle));\n }\n function safeQuery(sel) {\n try {\n return Array.from(document.querySelectorAll(sel)).filter(isVisible);\n } catch (e) {\n return [];\n }\n }\n // T014 P0-3\uFF1A\u533A\u57DF\u89C4\u5219\u547D\u4E2D\u5224\u5B9A\uFF08\u5355\u4E00\u5B9E\u73B0\u2014\u2014identifyRegion \u4E0E region: \u8868\u8FBE\u5F0F\u5171\u7528\uFF0C\u9632\u903B\u8F91\u6F02\u79FB\uFF09\u3002\n // T016 P1-4\uFF08\u5B9E\u8DD1\u4FEE\u590D\uFF09\uFF1AtextContains \u7528 textContent \u800C\u975E innerText\u2014\u2014innerText \u5F3A\u5236\u540C\u6B65\u91CD\u6392\uFF0C\n // \u8BE6\u60C5\u9762\u677F\u6253\u5F00\u540E DOM \u6570\u5343\u5143\u7D20 \u00D7 regionContainerOf \u5168\u904D\u5386 = \u5355\u6B21 evaluate \u6570\u5341\u79D2\uFF08waitSelector\n // \u8F6E\u8BE2\u8D85\u65F6\u5047\u5931\u8D25\uFF09\uFF1BtextContent \u4E0D\u89E6\u53D1\u91CD\u6392\uFF0C\u8BED\u4E49\u7B49\u4EF7\uFF08\u89C4\u5219=\u6587\u672C\u5305\u542B\uFF0C\u4E0D\u4F9D\u8D56\u6E32\u67D3\u5B8C\u6210\u6001\uFF09\u3002\n function ruleHits(rule, el) {\n const m = rule.match || {};\n let hit = true;\n if (m.textContains && !((el.textContent || '').includes(m.textContains))) hit = false;\n if (m.textContainsAll && Array.isArray(m.textContainsAll)) {\n const txt = el.textContent || '';\n for (const kw of m.textContainsAll) {\n if (!txt.includes(kw)) { hit = false; break; }\n }\n }\n if (m.hasInput && !el.querySelector('input, textarea')) hit = false;\n if (m.hasButton && !el.querySelector('button, a[role=\"button\"], [role=\"button\"]')) hit = false;\n if (m.ancestorTag && !(el.tagName || '').toLowerCase().includes(m.ancestorTag)) hit = false;\n if (m.ancestorClass && !((el.className || '').toString().includes(m.ancestorClass))) hit = false;\n return hit;\n }\n // T014 P0-1\uFF1A\u5143\u7D20\u6240\u5C5E\u533A\u57DF\u6807\u7B7E\uFF08\u8D70\u5143\u7D20\u81EA\u8EAB\u2192\u7956\u5148\uFF0C\u9996\u4E2A\u89C4\u5219\u547D\u4E2D\u5373\u8FD4\u56DE\uFF1B\u65E0 \u2192 null\uFF09\n function regionLabelOf(el, rules) {\n let cur = el;\n for (let d = 0; d < 5 && cur; d++) {\n for (const r of rules) {\n if (ruleHits(r, cur)) return { label: r.label, ruleId: r.id };\n }\n cur = cur.parentElement;\n }\n return null;\n }\n // T014 P0-3 + T016 P1-3\uFF1A\u533A\u57DF\u4E3B\u5BB9\u5668\u89E3\u6790\uFF08region:<\u6807\u7B7E> \u4E0E\u5BFB\u5740\u5171\u7528\uFF09\uFF1A\n // self-match \u5019\u9009\uFF08\u9762\u79EF < \u89C6\u53E3\uFF09\u4E2D\uFF0C\u53D6\u300C\u6709\u5B9E\u8D28\u7236\u5019\u9009\u7684\u6700\u6D45\u5B9E\u8D28\u5019\u9009\u300D\u2014\u2014\u8BE6\u60C5\u533A\u6587\u672C\u94FE\n // container \u2283 box \u2283 body \u2283 h3\uFF1Abox \u7684\u7236 container \u662F\u5B9E\u8D28\u5019\u9009\u3001body \u7684\u7236 box \u4E5F\u662F\uFF0C\u53D6\u6700\u6D45\n // = box\uFF08\u542B\u5934\u90E8\u7ECF\u9A8C/\u5B66\u5386/\u85AA\u8D44 + \u6B63\u6587\uFF0CT016 P1-3 \u4FEE\u590D\u2014\u2014\u539F\u300C\u6700\u6DF1\u5B9E\u8D28\u300D\u9009\u5230 body \u4E22\u5934\u90E8\uFF09\uFF1B\n // \u4E14\u907F\u5F00\u542B\u8FB9\u680F/\u6C42\u804C\u610F\u5411\u7684\u5305\u88F9\u5C42 container\uFF08USAGE-ISSUES #16\uFF09\uFF1B\n // \u65E0\u5B9E\u8D28\u7236\u5019\u9009\uFF08\u5217\u8868 ul \u81EA\u8EAB\u3001\u77ED\u6587\u672C\u641C\u7D22\u8868\u5355\uFF09\u2192 \u56DE\u9000\u6700\u5927\u9762\u79EF\u3002\n function regionContainerOf(label, rules) {\n const vw = innerWidth || document.documentElement.clientWidth || 1000;\n const vh = innerHeight || document.documentElement.clientHeight || 800;\n const vpArea = vw * vh;\n const matches = [];\n // T016 P1-4\uFF08\u5B9E\u8DD1\u4FEE\u590D\uFF09\uFF1A\u5168\u904D\u5386\u53EA\u7528\u6837\u5F0F\u5C5E\u6027\u8FC7\u6EE4\uFF08getComputedStyle \u4E0D\u89E6\u53D1\u5E03\u5C40\uFF09\uFF0C\n // rect \u4EC5\u5728\u89C4\u5219\u547D\u4E2D\u540E\u8BFB\u53D6\uFF08\u547D\u4E2D\u5143\u7D20\u6781\u5C11\uFF09\u2014\u2014\u907F\u514D\u8BE6\u60C5\u9762\u677F\u6253\u5F00\u540E\u5BF9\u6570\u5343\u5143\u7D20\u5404\u8BFB\u4E00\u6B21\n // getBoundingClientRect/innerText \u7684 O(n) \u540C\u6B65\u91CD\u6392\uFF08waitSelector \u8F6E\u8BE2 evaluate \u6570\u5341\u79D2\u5047\u8D85\u65F6\uFF09\u3002\n for (const el of Array.from(document.querySelectorAll('body *'))) {\n if (!(el.textContent || '').trim()) continue;\n const s = getComputedStyle(el);\n if (s.display === 'none' || s.visibility === 'hidden' || parseFloat(s.opacity) === 0) continue;\n for (const r of rules) {\n if (r.label === label && ruleHits(r, el)) {\n const rect = el.getBoundingClientRect();\n const area = rect.width * rect.height;\n if (area > 0 && area < vpArea) matches.push({ el, area });\n break;\n }\n }\n }\n if (matches.length === 0) return null;\n const depthOf = (el) => {\n let d = 0;\n let cur = el.parentElement;\n while (cur) { d++; cur = cur.parentElement; }\n return d;\n };\n // \u5B9E\u8D28\u5019\u9009\uFF1A\u6587\u672C \u2265100 \u5B57\uFF08\u77ED\u6587\u672C\u533A\u57DF\u5982\u641C\u7D22\u8868\u5355 \u2192 \u7528\u5168\u90E8\u5019\u9009\uFF09\n const pool = matches.filter((m) => (m.el.textContent || '').trim().length >= 100);\n const candidates = pool.length > 0 ? pool : matches;\n // \u6709\u5B9E\u8D28\u7236\u5019\u9009\u7684\uFF08\u5D4C\u5957\u5728\u53E6\u4E00\u4E2A\u5B9E\u8D28\u5019\u9009\u5185\u2014\u2014\u5185\u5BB9\u5BB9\u5668\u800C\u975E\u5305\u88F9\u5C42\uFF09\n const withParent = candidates.filter((m) => candidates.some((o) => o.el !== m.el && containsNode(o.el, m.el)));\n let best = null;\n if (withParent.length > 0) {\n // \u6700\u6D45\u8005\uFF08\u8BE6\u60C5\u533A box \u6DF1\u4E8E container \u4F46\u6D45\u4E8E body\uFF09\n for (const m of withParent) {\n if (!best || depthOf(m.el) < depthOf(best.el)) best = m;\n }\n } else {\n for (const m of candidates) {\n if (!best || m.area > best.area) best = m;\n }\n }\n return best ? best.el : null;\n }\n // a \u662F\u5426 b \u7684\u7956\u5148\uFF08region \u5BB9\u5668\u300C\u6709\u5B9E\u8D28\u7236\u5019\u9009\u300D\u5224\u5B9A\u7528\uFF09\n function containsNode(a, b) {\n let cur = b.parentElement;\n while (cur) {\n if (cur === a) return true;\n cur = cur.parentElement;\n }\n return false;\n }\n function getBySels(selector) {\n // A3 \u6570\u7EC4\u94FE\uFF08#17 \u4FEE\u590D\uFF09\uFF1A\u4F9D\u6B21\u5C1D\u8BD5\uFF0C\u7B2C\u4E00\u4E2A\u547D\u4E2D\u7684\u8FD4\u56DE\n if (Array.isArray(selector)) {\n for (const s of selector) {\n const nodes = getBySels(s);\n if (nodes.length > 0) return nodes;\n }\n return [];\n }\n const sel = String(selector);\n if (sel.startsWith('text:')) return byText(sel.slice(5));\n // T014 P0-3 + T016\uFF1Aregion:<\u6807\u7B7E>[ >> [\u5B50\u9009\u62E9\u5668] >> <n>] \u2014\u2014 \u5F15\u64CE\u5185\u90E8\u533A\u57DF\u5BFB\u5740\u8868\u8FBE\u5F0F\u3002\n // \u89C4\u5219\u7531 setRegionRules \u6CE8\u5165\uFF08\u968F\u6D41\u7A0B\u5305\u5206\u53D1\uFF0C\u5F15\u64CE\u96F6\u4E1A\u52A1\u903B\u8F91\uFF1B\u4EF2\u88C1\uFF1A\u6CE8\u5165\u89C4\u5219\u5DF2\u6309\u6863\u6848 seen \u91CD\u6392\uFF09\u3002\n // \u4E3B\u5BB9\u5668\u89E3\u6790\uFF08regionContainerOf\uFF09\uFF1Aself-match \u5019\u9009\uFF08\u9762\u79EF < \u89C6\u53E3\uFF09\u4E2D\u53D6\u300C\u6709\u5B9E\u8D28\u7236\u5019\u9009\u7684\u6700\u6D45\n // \u5B9E\u8D28\u5019\u9009\u300D\uFF08\u8BE6\u60C5\u533A box \u542B\u5934\u90E8+\u6B63\u6587\uFF0C\u89C1 USAGE-ISSUES #16/#21 \u4E0E T016 P1-3\uFF09\uFF1B\u65E0 \u2192 \u6700\u5927\u9762\u79EF\u3002\n // \u5BFB\u5740\u8BED\u4E49\uFF08T016 P0-1 \u4FEE\u8BA2\u2014\u2014\u730E\u5934 0.5.6 \u9A8C\u6536\uFF1A\u679A\u4E3E\u5168\u90E8\u53EF\u4EA4\u4E92\u5143\u7D20\u4F1A\u70B9\u5230\u5361\u7247\u5185\u516C\u53F8\u94FE\u63A5\uFF1B\n // T017 P1-2 \u6269\u5C55\uFF1Amatch \u6BB5\u6587\u672C\u8FC7\u6EE4\u2014\u2014\u8DF3\u8FC7\u6807\u9898\u4E0D\u542B\u5173\u952E\u8BCD\u7684\u5361\u7247\uFF08\u63A8\u8350\u4F4D\u6DF7\u5165\uFF09\uFF09\uFF1A\n // 'region:<\u6807\u7B7E> >>' = \u533A\u57DF\u4E3B\u5BB9\u5668\u7684**\u5361\u7247\u7EA7\u76F4\u63A5\u5B50\u9879**\uFF08\u53EF\u89C1 + \u6709\u5B9E\u8D28\u6587\u672C\uFF1B\n // \u5217\u8868\u533A = ul.rec-job-list \u7684\u76F4\u63A5\u5B50\u9879 li/div \u5361\u7247\uFF0Cindex \u4F5C\u7528\u4E8E\u5361\u7247\uFF09\n // 'region:<\u6807\u7B7E> >> <n>' = \u7B2C n \u4E2A\uFF080 \u8D77\uFF09\u5361\u7247\u7EA7\u5B50\u9879\n // 'region:<\u6807\u7B7E> >> [match:<\u6587\u672C>]' = \u5361\u7247\u7EA7\u5B50\u9879\u4E2D\u6587\u672C\u542B <\u6587\u672C> \u7684\u5168\u90E8\uFF08\u8FC7\u6EE4\u63A8\u8350\u4F4D\uFF09\n // 'region:<\u6807\u7B7E> >> [match:<\u6587\u672C>] >> <n>' = \u5176\u4E2D\u7B2C n \u4E2A\uFF08index \u4F5C\u7528\u4E8E\u8FC7\u6EE4\u540E\u96C6\u5408\u2014\u2014\u8DF3\u8FC7\u4E0D\u542B\u5173\u952E\u8BCD\u7684\u5361\u7247\uFF09\n // 'region:<\u6807\u7B7E> >> <\u5B50\u9009\u62E9\u5668> >>' = \u533A\u57DF\u5185\u5339\u914D\u5B50\u9009\u62E9\u5668\u7684\u5168\u90E8\u53EF\u89C1\u5143\u7D20\uFF08\u6DF7\u5408\u5BFB\u5740\uFF09\n // 'region:<\u6807\u7B7E> >> <\u5B50\u9009\u62E9\u5668> >> <n>' = \u5176\u4E2D\u7B2C n \u4E2A\n if (sel.startsWith('region:')) {\n const rest = sel.slice(7).trim();\n const parts = rest.split('>>').map((p) => p.trim());\n const label = parts[0] || '';\n const rules = (window.__rpaDom && window.__rpaDom._regionRules) || [];\n const container = regionContainerOf(label, rules);\n if (!container) return [];\n if (parts.length === 1) return [container];\n // T017 P1-2\uFF1Amatch \u6BB5\uFF08[match:\u6587\u672C]\uFF09= \u6587\u672C\u5305\u542B\u8FC7\u6EE4\uFF08\u901A\u7528\u6846\u67B6\uFF1B\u5173\u952E\u8BCD\u6765\u81EA flow\uFF0C\u5F15\u64CE\u96F6\u4E1A\u52A1\u903B\u8F91\uFF09\u3002\n // \u8F6C\u4E49\u94FE\uFF1ADOM_SOURCE \u662F\u6A21\u677F\u5B57\u7B26\u4E32\uFF0C\u6A21\u677F\u6C42\u503C\u628A\u53CC\u53CD\u659C\u6760\u6536\u4E3A\u5355\u53CD\u659C\u6760\uFF08\u4E00\u5C42\uFF09\uFF1BJS \u5B57\u7B26\u4E32\u5B57\u9762\u91CF\n // \u5BF9\u672A\u77E5\u8F6C\u4E49 [ \u4F1A\u4E22\u5F03\u53CD\u659C\u6760\uFF08\u5B57\u7B26\u7C7B\u9677\u9631\uFF09\u3002\u6545\u6E90\u7801\u5199 4 \u53CD\u659C\u6760 \u2192 \u6A21\u677F\u503C 2 \u53CD\u659C\u6760 \u2192 new RegExp\n // \u6536\u5230 2 \u53CD\u659C\u6760 \u2192 \u6B63\u5219 [ \u8F6C\u4E49\u5339\u914D\u5B57\u9762 [\u3002\u5B9E\u6D4B\uFF1A\u5B57\u9762\u91CF\u4E0E 2 \u53CD\u659C\u6760\u5B57\u7B26\u4E32\u5728\u8F6C\u8BD1\u94FE\u4E2D\u4F1A\u4E22\u8F6C\u4E49\uFF0C\n // \u4EC5 4 \u53CD\u659C\u6760\u5B57\u7B26\u4E32\u5168\u94FE\u5E78\u5B58\uFF08vitest/esbuild/tsc \u4E00\u81F4\uFF09\u3002\n const matchSeg = new RegExp('^\\\\[match:(.*)\\\\]$').exec(parts[1] || '');\n const matchText = matchSeg ? matchSeg[1] : null;\n const sub = matchText !== null ? '' : (parts.length >= 3 ? parts[1] : '');\n const idxPart = matchText !== null ? (parts.length >= 3 ? parts[2] : '') : (parts.length >= 3 ? parts[2] : parts[1] ?? '');\n let nodes;\n if (matchText !== null) {\n // \u5361\u7247\u7EA7\u76F4\u63A5\u5B50\u9879 + \u6587\u672C\u5305\u542B\u8FC7\u6EE4\uFF08\u8DF3\u8FC7\u6807\u9898\u4E0D\u542B\u5173\u952E\u8BCD\u7684\u5361\u7247\u2014\u2014\u641C\u7D22\u6DF7\u5165\u63A8\u8350\u4F4D\u573A\u666F\uFF09\n nodes = Array.from(container.children).filter(isVisible).filter((el) => (el.textContent || '').includes(matchText));\n } else if (sub) {\n nodes = Array.from(container.querySelectorAll(sub)).filter(isVisible);\n } else {\n // \u5361\u7247\u7EA7\u76F4\u63A5\u5B50\u9879\uFF08T016 P0-1\uFF1A\u907F\u514D\u70B9\u5230\u5361\u7247\u5185\u516C\u53F8\u94FE\u63A5\u7B49\u5185\u90E8\u53EF\u4EA4\u4E92\u5143\u7D20\uFF09\n // T016 P1-4\uFF1AtextContent\uFF08\u4E0D\u5F3A\u5236\u91CD\u6392\uFF1BinnerText \u5728\u8BE6\u60C5\u9762\u677F\u6253\u5F00\u540E\u62D6\u6162 evaluate\uFF09\n nodes = Array.from(container.children).filter(isVisible).filter((el) => (el.textContent || '').trim().length > 0);\n }\n if (idxPart === '') return nodes;\n const n = Number(idxPart);\n return Number.isInteger(n) && n >= 0 && n < nodes.length ? [nodes[n]] : [];\n }\n // #16-B \u7F16\u53F7\u5BFB\u5740\uFF08\u865A\u62DF\u7A7A\u95F4\u89C6\u89C9\uFF09\uFF1A#N = numberedElements \u5217\u8868\u7B2C N \u4E2A\u53EF\u89C1\u4EA4\u4E92\u5143\u7D20\uFF081 \u8D77\uFF09\u3002\n // \u5FEB\u7167\u7F16\u53F7\u4E0E\u5BFB\u5740\u5171\u7528\u540C\u4E00\u679A\u4E3E \u2192 Agent/\u65E5\u5FD7\u53EF\u300C\u770B\u7F16\u53F7\u76F4\u63A5\u70B9\u300D\uFF1B\u7F16\u53F7\u968F DOM \u53D8\u5316\uFF0C\u64CD\u4F5C\u65F6\u73B0\u53D6\u3002\n const numMatch = sel.match(/^#(d+)$/);\n if (numMatch) {\n const idx = Number(numMatch[1]) - 1;\n const tags = 'a,button,input,select,textarea,[role=\"button\"],[role=\"link\"],[contenteditable=\"true\"]';\n const nodes = Array.from(document.querySelectorAll(tags)).filter(isVisible);\n return idx >= 0 && idx < nodes.length ? [nodes[idx]] : [];\n }\n // \u6DF7\u5408\u4E32\uFF08CSS \u4E0E text: \u9017\u53F7\u5206\u9694\uFF0C\u5982 \"a.search-btn, text:\u641C\u7D22\"\uFF09\uFF1A\u9010\u6BB5\u5C1D\u8BD5\u5408\u5E76\u53BB\u91CD\n // \uFF08#17 \u4FEE\u590D\uFF1Atext: \u6BB5\u4E0D\u80FD\u518D\u6DF7\u8FDB querySelectorAll\u2014\u2014\u6574\u4F53\u4F1A SyntaxError \u5931\u6548\uFF09\n const parts = sel.split(',').map((p) => p.trim()).filter(Boolean);\n if (parts.length > 1 || parts.some((p) => p.startsWith('text:'))) {\n const out = [];\n for (const p of parts) {\n const nodes = p.startsWith('text:') ? byText(p.slice(5)) : safeQuery(p);\n for (const n of nodes) {\n if (isVisible(n) && !out.includes(n)) out.push(n);\n }\n }\n return out;\n }\n return safeQuery(sel);\n }\n function pick(selector, index) {\n const nodes = getBySels(selector);\n return nodes[index] || nodes[0] || null;\n }\n function scrollIntoView(selector, index) {\n const el = pick(selector, index);\n if (!el) return false;\n el.scrollIntoView({ block: 'center', inline: 'center' });\n return true;\n }\n // T012 P1-2\uFF1A\u8F7B\u91CF\u62DF\u4EBA\u6EDA\u52A8\u2014\u2014\u5206\u6BB5\u6E10\u8FDB\u6EDA\u52A8\uFF082~5 \u6BB5\uFF0C\u6BB5\u95F4 30~120ms \u968F\u673A\u8282\u594F\uFF09\uFF0C\n // \u7EC8\u4F4D\u4E0E scrollIntoView \u4E00\u81F4\uFF08block:center\uFF09\u2014\u2014\u53EA\u6539\u8282\u594F\u4E0D\u6539\u843D\u70B9\uFF0C\u529F\u80FD\u4E0D\u56DE\u5F52\u3002\n // T016 P1-4\uFF08\u5B9E\u8DD1\u4FEE\u590D\uFF09\uFF1A\u6539\u4E3A**\u540C\u6B65**\u5B9E\u73B0\u3002\u539F\u5F02\u6B65\u7248\u4F9D\u8D56\u9875\u9762 setTimeout \u94FE\uFF0C\u800C\u9875\u9762\u4E3B\u7EBF\u7A0B\n // \u7E41\u5FD9\uFF08\u8BE6\u60C5\u9762\u677F\u6E32\u67D3/\u6BCF\u6B65 pageText \u540C\u6B65\u91CD\u6392\uFF09\u65F6 setTimeout \u88AB\u6781\u7AEF\u8282\u6D41 \u2192 promise \u6C38\u4E0D\n // resolve \u2192 CDP evaluate awaitPromise \u6302\u8D77\uFF08\u4EC5\u9760 60s \u547D\u4EE4\u8D85\u65F6\u515C\u5E95\uFF0C\u8868\u73B0\u4E3A\u5076\u53D1\u5361\u6B7B\uFF09\u3002\n // \u540C\u6B65\u7248\u843D\u70B9\u4E0D\u53D8\uFF08\u5206\u6BB5\u7F13\u52A8\u6539\u4E3A\u76F4\u63A5 scrollTo + scrollIntoView block:center\uFF09\uFF0C\n // \u8FD4\u56DE true\uFF08\u4E0E\u65E7\u540C\u6B65\u5931\u8D25\u5206\u652F false \u517C\u5BB9\uFF09\uFF1Bevaluate awaitPromise \u5BF9\u540C\u6B65\u503C\u7ACB\u5373\u8FD4\u56DE\u3002\n function scrollIntoViewRhythm(selector, index) {\n const el = pick(selector, index);\n if (!el) return false;\n const vh = innerHeight || document.documentElement.clientHeight || 600;\n const rect = el.getBoundingClientRect();\n const curTop = pageYOffset || document.documentElement.scrollTop || 0;\n const targetY = curTop + rect.top - (vh - Math.min(rect.height, vh)) / 2;\n window.scrollTo(0, Math.round(targetY));\n el.scrollIntoView({ block: 'center', inline: 'center' });\n return true;\n }\n function textOf(selector, index) {\n const el = pick(selector, index);\n return el ? (el.innerText || el.textContent || '') : '';\n }\n function focusInput(selector, index) {\n const el = pick(selector, index);\n if (!el) return false;\n if (typeof el.select === 'function') el.select();\n el.focus();\n return true;\n }\n function pageText() {\n let t = document.body ? document.body.innerText : '';\n const inputs = Array.from(document.querySelectorAll('input, textarea, [contenteditable=\"true\"]'));\n for (const el of inputs) {\n const v = el.value || el.textContent || '';\n if (v) t += '\\n' + v;\n }\n return t;\n }\n function numberedElements(maxN) {\n const tags = 'a,button,input,select,textarea,[role=\"button\"],[role=\"link\"],[contenteditable=\"true\"]';\n const nodes = Array.from(document.querySelectorAll(tags)).filter(isVisible);\n const cap = maxN || 50;\n return nodes.slice(0, cap).map(el => ({\n tag: el.tagName.toLowerCase(),\n text: (el.innerText || el.value || el.textContent || '').trim().slice(0, 40)\n }));\n }\n // #16-A \u865A\u62DF\u7A7A\u95F4\u89C6\u89C9\uFF1A\u5143\u7D20\u8BED\u4E49\u63CF\u8FF0\uFF08\u906E\u6321\u68C0\u6D4B/\u65E5\u5FD7\u7528\uFF09\n function describeEl(el) {\n if (!el || el.nodeType !== 1) return null;\n const t = (el.innerText || el.value || el.textContent || '').trim();\n return {\n tag: el.tagName.toLowerCase(),\n cls: (el.className || '').toString().slice(0, 60),\n text: t.slice(0, 30),\n role: el.getAttribute && el.getAttribute('role'),\n };\n }\n // P3 \u8BED\u4E49\u951A\u70B9\uFF1A\u547D\u4E2D\u5143\u7D20\u6307\u7EB9\uFF08\u52A8\u4F5C\u6210\u529F\u65F6\u91C7\u96C6\uFF0C\u4F9B\u9009\u62E9\u5668\u5931\u6548\u65F6\u751F\u6210\u66FF\u4EE3\u5B9A\u4F4D\uFF09\u3002\n // \u53EA\u6709\u53EF\u91CD\u5B9A\u4F4D\u7684\u8BED\u4E49\u7279\u5F81\uFF08tag/\u6587\u672C\u622A\u65AD/placeholder/aria-label/name\uFF09\u2014\u2014\u65E0\u5750\u6807\u65E0\u539F\u6587\u3002\n // \u63A9\u7801\u524D\u79FB\uFF08\u94C1\u5F8B\uFF09\uFF1A\u8868\u5355\u5143\u7D20\uFF08input/textarea/select\uFF09\u7EDD\u4E0D\u53D6 value\u2014\u2014\u90A3\u662F\u7528\u6237\u8F93\u5165\u503C\n // \uFF08\u641C\u7D22\u8BCD/\u7535\u8BDD\u7B49\u654F\u611F\u539F\u6587\uFF09\uFF0C\u843D\u76D8\u5373\u8FDD\u89C4\uFF1B\u8868\u5355\u951A\u70B9\u53EA\u7528 placeholder/name/aria-label\u3002\n // T014 P1-4\uFF1A\u9644\u52A0\u6240\u5728\u533A\u57DF\u6807\u7B7E\uFF08region\uFF09\u2014\u2014\u951A\u70B9\u53EA\u5728\u540C\u4E00\u533A\u57DF\u590D\u7528\uFF08\u89C4\u5219\u7531 setRegionRules \u6CE8\u5165\uFF09\u3002\n function describeHit(selector, index) {\n const el = pick(selector, index);\n if (!el) return null;\n const tag = el.tagName.toLowerCase();\n const isForm = tag === 'input' || tag === 'textarea' || tag === 'select';\n const t = isForm ? '' : (el.innerText || el.textContent || '').trim().slice(0, 30);\n const get = (k) => { try { return el.getAttribute(k) || undefined; } catch (e) { return undefined; } };\n const rules = (window.__rpaDom && window.__rpaDom._regionRules) || [];\n const regionHit = rules.length > 0 ? regionLabelOf(el, rules) : null;\n return {\n tag,\n ...(t ? { text: t } : {}),\n ...(get('placeholder') ? { placeholder: get('placeholder') } : {}),\n ...(get('aria-label') ? { ariaLabel: get('aria-label') } : {}),\n ...(get('name') ? { name: get('name') } : {}),\n ...(regionHit ? { region: regionHit.label } : {}),\n };\n }\n // #16-B/P2 \u533A\u57DF\u8BC6\u522B\uFF1A\u76EE\u6807\u5143\u7D20\u5411\u4E0A\u904D\u5386\u7956\u5148\uFF08\u22645 \u5C42\uFF09\uFF0C\u7528\u884C\u4E3A\u89C4\u5219\u5339\u914D\u51FA\u533A\u57DF\u6807\u7B7E\u3002\n // \u89C4\u5219\uFF08behavior.rules.json \u968F\u6D41\u7A0B\u5305\u5206\u53D1\uFF0C\u5F15\u64CE\u96F6\u4E1A\u52A1\u903B\u8F91\uFF09\uFF1A\u5168\u90E8 match \u6761\u4EF6\u6EE1\u8DB3\u624D\u547D\u4E2D\u3002\n // \u8FD4\u56DE { label, ruleId, ancestry }\u2014\u2014ancestry \u4E3A\u7956\u5148\u94FE\u6458\u8981\uFF08\u6297\u6539\u7248\u91CD\u5B9A\u4F4D\u7528\uFF09\u3002\n // T014\uFF1A\u6761\u4EF6\u5224\u5B9A\u7EDF\u4E00\u8D70 ruleHits\uFF08\u4E0E region: \u8868\u8FBE\u5F0F\u5171\u7528\uFF0C\u9632\u6F02\u79FB\uFF09\u3002\n function identifyRegion(selector, index, rulesJson) {\n const target = pick(selector, index);\n if (!target) return null;\n let rules = [];\n try { rules = JSON.parse(rulesJson || '[]'); } catch (e) { rules = []; }\n const ancestry = [];\n let el = target;\n for (let d = 0; d < 5 && el; d++) {\n if (el !== target && el.nodeType === 1) {\n const cls = (el.className || '').toString().slice(0, 40);\n ancestry.push(el.tagName.toLowerCase() + (cls ? '.' + cls : ''));\n }\n // \u7528\u89C4\u5219\u5339\u914D\u5F53\u524D\u7956\u5148\n for (const r of rules) {\n if (ruleHits(r, el)) {\n return { label: r.label, ruleId: r.id, ancestry: ancestry.slice(0, 3) };\n }\n }\n el = el.parentElement;\n }\n return { label: undefined, ruleId: undefined, ancestry: ancestry.slice(0, 3) };\n }\n // T014 P0-3\uFF1A\u6CE8\u5165\u533A\u57DF\u89C4\u5219\uFF08behavior.rules.json \u968F\u6D41\u7A0B\u5305\u5206\u53D1\uFF1Bregion: \u8868\u8FBE\u5F0F\u4E0E describeHit\n // \u533A\u57DF\u6807\u6CE8\u5171\u7528\uFF1B\u5F15\u64CE\u96F6\u4E1A\u52A1\u903B\u8F91\u2014\u2014\u53EA\u5B58\u89C4\u5219 JSON\uFF09\u3002\u5E42\u7B49\uFF1A\u91CD\u590D\u6CE8\u5165\u8986\u76D6\u3002\n function setRegionRules(rulesJson) {\n let rules = [];\n try { rules = JSON.parse(rulesJson || '[]'); } catch (e) { rules = []; }\n window.__rpaDom._regionRules = rules;\n return true;\n }\n // #16-A \u70B9\u51FB\u524D\u906E\u6321\u68C0\u6D4B\uFF1A\u8FD4\u56DE (x,y) \u5904\u6700\u9876\u5C42\u5143\u7D20 + \u8BE5\u5143\u7D20\u662F\u5426\u5C5E\u4E8E\u76EE\u6807\uFF08\u76EE\u6807\u6216\u5176\u540E\u4EE3\uFF09\n function hitTestAt(selector, index, x, y) {\n const target = pick(selector, index);\n if (!target) return { found: false };\n const top = document.elementFromPoint(x, y);\n if (!top) return { found: true, hit: false, top: null };\n const hit = top === target || target.contains(top);\n return {\n found: true,\n hit,\n top: describeEl(top),\n target: describeEl(target),\n };\n }\n // #16-A \u5BF9\u8BDD\u6846\u5173\u95ED\uFF1A\u906E\u6321\u8005\uFF08dialog-layer \u7B49\u906E\u7F69\uFF09\u5185\u7684\u5173\u95ED\u6309\u94AE\u5750\u6807\uFF08\u4F9B\u5F15\u64CE\u70B9\u51FB\u5173\u95ED\u540E\u91CD\u8BD5\uFF09\n function findDialogClose(selector, index) {\n const target = pick(selector, index);\n if (!target) return null;\n const cx = Math.round(target.getBoundingClientRect().left + target.getBoundingClientRect().width / 2);\n const cy = Math.round(target.getBoundingClientRect().top + target.getBoundingClientRect().height / 2);\n const top = document.elementFromPoint(cx, cy);\n if (!top) return null;\n // \u627E\u6700\u9876\u5C42\u5143\u7D20\u4F5C\u4E3A\u906E\u6321\u8005\uFF08dialog-layer/\u906E\u7F69\uFF09\uFF0C\u5728\u5176\u5185\u627E\u5173\u95ED\u6309\u94AE\n let blocker = top;\n while (blocker && blocker !== document.body) {\n const s = getComputedStyle(blocker);\n if ((s.position === 'fixed' || s.position === 'absolute') && parseFloat(s.zIndex) >= 100) break;\n blocker = blocker.parentElement;\n }\n if (!blocker || blocker === document.body) return null;\n // \u5173\u95ED\u6309\u94AE\u641C\u7D22\u8303\u56F4\uFF1A\u906E\u6321\u8005\u81EA\u8EAB + \u5176\u5BF9\u8BDD\u6846\u7956\u5148\uFF08T014 \u9636\u6BB5 2 \u5B9E\u8DD1\u53D1\u73B0\uFF1A\u6B8B\u7559\u5BF9\u8BDD\u6846\u7684\n // .dialog-layer \u906E\u7F69\u4E0B\u5173\u95ED\u6309\u94AE\u5728 dialog-wrap \u5185\u2014\u2014v-leave \u5361\u4F4F\u7684\u5BF9\u8BDD\u6846\u906E\u6321\u6574\u9875\u65F6\uFF0C\n // \u5F15\u64CE\u70B9\u51FB\u5176\u5173\u95ED\u6309\u94AE\u515C\u5E95\u5173\u95ED\uFF0C\u91CD\u8BD5\u76EE\u6807\u70B9\u51FB\uFF09\u3002\n let scope = blocker;\n let walk = blocker.parentElement;\n while (walk && walk !== document.body) {\n if (/(dialog|layer|mask|modal|popup|panel)/i.test((walk.className || '').toString()) && walk.getBoundingClientRect().width > 0) {\n scope = walk;\n }\n walk = walk.parentElement;\n }\n // \u5173\u95ED\u6309\u94AE\u5019\u9009\uFF1Aclass \u542B close / \u56FE\u6807\u6309\u94AE / \u6587\u672C \u00D7\n const closeBtns = [...scope.querySelectorAll('a,button,[role=\"button\"],i,span,div')].filter((el) => {\n const cls = (el.className || '').toString();\n const txt = (el.innerText || '').trim();\n const r = el.getBoundingClientRect();\n return r.width > 8 && r.height > 8 &&\n (/close|close-btn|icon-close|dialog-close|del|btn-close/i.test(cls) || txt === '\u00D7' || txt === '\u2715' || txt === 'X' || txt === '\u5173\u95ED');\n });\n const btn = closeBtns[0];\n if (!btn) return null;\n const r = btn.getBoundingClientRect();\n return { x: Math.round(r.left + r.width / 2), y: Math.round(r.top + r.height / 2), cls: (btn.className || '').toString().slice(0, 40) };\n }\n // #16-A \u539F\u5B50\u5316\u906E\u6321\u68C0\u6D4B\uFF1A\u4E0E rect \u91C7\u96C6\u540C\u4E00\u6B21\u6C42\u503C\uFF08\u6D88\u9664\u300C\u91C7\u96C6-\u68C0\u6D4B\u300D\u4E24\u6B21\u6C42\u503C\u95F4\u7684 DOM \u7ADE\u6001\uFF09\u3002\n // \u8FD4\u56DE\u6BCF\u4E2A\u53EF\u89C1\u76EE\u6807\u7684 rect + \u4E2D\u5FC3\u70B9\u547D\u4E2D\u4FE1\u606F + \u5B89\u5168\u70B9\u51FB\u70B9\uFF1A\n // hit=true \u4E2D\u5FC3\u70B9\u547D\u4E2D\u76EE\u6807\u6216\u5176\u975E\u4EA4\u4E92\u540E\u4EE3\uFF08\u5B89\u5168\u70B9\u51FB\u70B9\uFF09\n // hit=false \u4E2D\u5FC3\u70B9\u88AB\u771F\u5B9E\u906E\u6321\uFF08\u6D6E\u52A8\u5C42/\u5F39\u5C42/\u5176\u5B83\u5143\u7D20\u8986\u76D6\uFF09\n // danger=true \u4E2D\u5FC3\u70B9\u843D\u5728\u76EE\u6807\u5185\u7684\u3010\u53EF\u4EA4\u4E92\u5B50\u5143\u7D20\u3011\uFF08\u94FE\u63A5/\u6309\u94AE\u7B49\uFF09\u4E0A\u2014\u2014\u70B9\u51FB\u4F1A\u89E6\u53D1\u5B50\u5143\u7D20\u800C\u975E\u76EE\u6807\n // safe \u77E9\u5F62\u5185\u626B\u63CF\u5230\u7684\u7B2C\u4E00\u4E2A\u300C\u5C5E\u4E8E\u76EE\u6807\u4E14\u975E\u4EA4\u4E92\u5B50\u5143\u7D20\u300D\u7684\u70B9\uFF08\u4E2D\u5FC3\u88AB\u76D6/\u5371\u9669\u65F6\u6362\u70B9\u7528\uFF09\uFF1B\n // \u65E0\u5B89\u5168\u70B9\u5219 null\uFF08\u6574\u4E2A\u76EE\u6807\u88AB\u76D6 \u2192 \u5F15\u64CE\u4FA7 ESC \u5173\u95ED\u6D6E\u52A8\u5C42\u91CD\u8BD5\uFF09\n // top=null\uFF08elementFromPoint \u65E0\u7ED3\u679C\uFF0C\u5982\u5143\u7D20\u90E8\u5206\u5728\u89C6\u53E3\u5916/\u6E32\u67D3\u8FB9\u7F18\uFF09\u2192 \u4E0D\u89C6\u4E3A\u906E\u6321\uFF0Chit=true\u3002\n function clickableRects(selector) {\n const d = window.__rpaDom;\n const nodes = d && d.getBySels ? d.getBySels(selector) : [];\n const vw = innerWidth || document.documentElement.clientWidth;\n const vh = innerHeight || document.documentElement.clientHeight;\n const out = [];\n const INTERACTIVE = 'a,button,[role=\"button\"],[role=\"link\"],input,select,textarea,[onclick],label';\n const isSafeHit = (el, top) => {\n if (!top) return false;\n if (top === el) return true;\n if (el.contains(top)) {\n return !(top.closest && top.closest(INTERACTIVE) === top);\n }\n return false;\n };\n for (let i = 0; i < nodes.length; i++) {\n const el = nodes[i];\n const t = el.getBoundingClientRect();\n const fullW = Math.max(1, t.width);\n const fullH = Math.max(1, t.height);\n const x = Math.max(t.left, 0);\n const y = Math.max(t.top, 0);\n const w = Math.max(0, Math.min(t.right, vw) - x);\n const h = Math.max(0, Math.min(t.bottom, vh) - y);\n if (w <= 0 || h <= 0) continue;\n // #16-A \u53EF\u89C1\u6BD4\u4F8B\uFF1A\u89C6\u53E3\u5185\u9762\u79EF / \u603B\u9762\u79EF\u3002\u7A84\u89C6\u53E3\u4E0B\u5927\u90E8\u5206\u5728\u89C6\u53E3\u5916\u7684\u5143\u7D20\n // \uFF08\u5982\u9876\u90E8\u5BFC\u822A\u53F3\u4FA7\u7684\u641C\u7D22\u6309\u94AE\uFF09\u70B9\u51FB\u5750\u6807\u4F1A\u843D\u5728\u89C6\u53E3\u5916/\u8FB9\u7F18 \u2192 CDP input \u6302\u8D77\u6216\u70B9\u7A7A\u3002\n // \u53EF\u89C1\u6BD4\u4F8B < 50% \u2192 \u6807\u8BB0 partiallyVisible\uFF0C\u5F15\u64CE\u4FA7\u62A5\u300C\u76EE\u6807\u5927\u90E8\u5206\u5728\u89C6\u53E3\u5916\u300D\u800C\u975E\u5C1D\u8BD5\u70B9\u51FB\u3002\n const visibleRatio = (w * h) / (fullW * fullH);\n const partiallyVisible = visibleRatio < 0.5;\n if (partiallyVisible) {\n out.push({\n x: Math.round(x), y: Math.round(y), w: Math.round(w), h: Math.round(h),\n hit: false, danger: false, safe: null, partiallyVisible: true, top: null, target: describeEl(el),\n });\n continue;\n }\n const cx = Math.round(x + w / 2);\n const cy = Math.round(y + h / 2);\n const top = document.elementFromPoint(cx, cy);\n if (!top) {\n // elementFromPoint \u65E0\u7ED3\u679C\uFF1A\u53EF\u89C1\u6BD4\u4F8B\u8DB3\u591F\uFF08\u226550%\uFF09\u4F46\u53D6\u4E0D\u5230\u9876\u5C42\u5143\u7D20 \u2192 \u6E32\u67D3\u8FB9\u754C\u5BB9\u5FCD\uFF0C\u4E0D\u963B\u585E\n out.push({\n x: Math.round(x), y: Math.round(y), w: Math.round(w), h: Math.round(h),\n hit: true, danger: false, safe: null, partiallyVisible: false, top: null, target: describeEl(el),\n });\n continue;\n }\n // T014 \u9636\u6BB5 2 \u5B9E\u8DD1\u53D1\u73B0\uFF1A\u6B8B\u7559\u5BF9\u8BDD\u6846 mask\uFF08visibility:hidden / opacity:0 \u7684\u5168\u5C4F\u906E\u7F69\u2014\u2014\n // zhipin \u57CE\u5E02\u9009\u62E9\u5668\u5173\u95ED\u540E .dialog-layer \u7559\u5728 DOM\uFF09\u4F1A\u88AB elementFromPoint \u547D\u4E2D\uFF0C\u4F46\u771F\u5B9E\n // \u6307\u9488\u4E8B\u4EF6\u7A7F\u900F\uFF08\u4E0D\u53EF\u89C1\u5143\u7D20\u4E0D\u53C2\u4E0E\u547D\u4E2D\u6D4B\u8BD5\uFF09\u2192 \u4E0D\u6784\u6210\u771F\u5B9E\u906E\u6321\uFF0C\u89C6\u4E3A hit\uFF08\u9632 ESC \u6B7B\u5FAA\u73AF\uFF09\u3002\n const topStyle = getComputedStyle(top);\n if (topStyle.visibility === 'hidden' || parseFloat(topStyle.opacity) === 0) {\n out.push({\n x: Math.round(x), y: Math.round(y), w: Math.round(w), h: Math.round(h),\n hit: true, danger: false, safe: null, partiallyVisible: false, top: null, target: describeEl(el),\n });\n continue;\n }\n const belongs = top === el || el.contains(top);\n const isInteractiveChild = top !== el && el.contains(top) && top.closest && top.closest(INTERACTIVE) === top;\n // \u4E2D\u5FC3\u88AB\u76D6/\u5371\u9669 \u2192 \u626B\u63CF\u77E9\u5F62\u5185\u90E8\u627E\u5B89\u5168\u70B9\uFF085\u00D75 \u7F51\u683C\uFF0C\u907F\u5F00\u4EA4\u4E92\u5B50\u5143\u7D20\u4E0E\u906E\u6321\uFF09\n let safe = null;\n if (!(belongs && !isInteractiveChild)) {\n for (let gy = 1; gy <= 4 && !safe; gy++) {\n for (let gx = 1; gx <= 4 && !safe; gx++) {\n const sx = Math.round(x + (w * gx) / 5);\n const sy = Math.round(y + (h * gy) / 5);\n const st = document.elementFromPoint(sx, sy);\n if (st && isSafeHit(el, st)) safe = { x: sx, y: sy };\n }\n }\n }\n out.push({\n x: Math.round(x), y: Math.round(y), w: Math.round(w), h: Math.round(h),\n hit: belongs && !isInteractiveChild,\n danger: isInteractiveChild,\n safe,\n partiallyVisible: false,\n top: describeEl(top),\n target: describeEl(el),\n });\n }\n return out;\n }\n // #16-A \u76EE\u6807\u77E9\u5F62\u5185\u627E\u5B89\u5168\u70B9\u51FB\u70B9\uFF1A\u7F51\u683C\u91C7\u6837\uFF085\u00D75\uFF09\uFF0C\u8FD4\u56DE\u7B2C\u4E00\u4E2A\u300C\u5C5E\u4E8E\u76EE\u6807\u4E14\u4E0D\u5728\u53EF\u4EA4\u4E92\u5B50\u5143\u7D20\u4E0A\u300D\u7684\u70B9\u3002\n // \u5927\u5BB9\u5668\u5361\u7247\uFF08\u5982 job-card-wrap\uFF09\u4E2D\u5FC3\u5E38\u843D\u5728\u516C\u53F8\u94FE\u63A5/\u804C\u4F4D\u8BE6\u60C5\u94FE\u63A5\u4E0A\uFF0C\u76F4\u63A5\u70B9\u4F1A\u8BEF\u8DF3\u8F6C\uFF1B\n // \u5B89\u5168\u70B9\u907F\u5F00\u4EA4\u4E92\u5B50\u5143\u7D20\uFF08a/button/[onclick]\uFF09\uFF0C\u53EA\u843D\u5728\u6587\u672C/\u7A7A\u767D\u533A\u57DF\uFF08\u70B9\u51FB\u4ECD\u7531\u7236\u7EA7\u4E8B\u4EF6\u5192\u6CE1\u5904\u7406\uFF09\u3002\n function safePointIn(selector, index) {\n const el = pick(selector, index);\n if (!el) return null;\n const t = el.getBoundingClientRect();\n const INTERACTIVE = 'a,button,[role=\"button\"],[role=\"link\"],input,select,textarea,[onclick],label';\n for (let gy = 2; gy <= 3; gy++) {\n for (let gx = 2; gx <= 3; gx++) {\n const cx = Math.round(t.left + (t.width * gx) / 5);\n const cy = Math.round(t.top + (t.height * gy) / 5);\n const top = document.elementFromPoint(cx, cy);\n if (!top) continue;\n if (top === el || el.contains(top)) {\n const bad = top !== el && top.closest && top.closest(INTERACTIVE) === top;\n if (!bad) return { x: cx, y: cy };\n }\n }\n }\n // \u515C\u5E95\uFF1A\u4E2D\u5FC3\u70B9\uFF08\u53EF\u80FD\u5371\u9669\uFF0C\u7531\u5F15\u64CE\u4FA7\u518D\u5224\u65AD\uFF09\n return { x: Math.round(t.left + t.width / 2), y: Math.round(t.top + t.height / 2) };\n }\n return { getBySels, scrollIntoView, scrollIntoViewRhythm, textOf, focusInput, pageText, numberedElements, describeEl, describeHit, hitTestAt, clickableRects, safePointIn, identifyRegion, findDialogClose, setRegionRules, _domVersion: 4 };\n})();\ntrue\n";
|
|
20
|
+
export declare const DOM_SOURCE = "\nwindow.__rpaDom = (function() {\n function isVisible(el) {\n if (!el || el.nodeType !== 1) return false;\n const s = window.getComputedStyle(el);\n if (s.display === 'none' || s.visibility === 'hidden' || parseFloat(s.opacity) === 0) return false;\n const r = el.getBoundingClientRect();\n return r.width > 0 && r.height > 0;\n }\n function byText(text) {\n const needle = String(text).trim();\n const visible = Array.from(document.querySelectorAll('body *')).filter(isVisible);\n const leaf = visible.filter(el => el.children.length === 0);\n const exact = leaf.filter(el => (el.textContent || '').trim() === needle);\n if (exact.length > 0) return exact;\n return leaf.filter(el => (el.textContent || '').includes(needle));\n }\n function safeQuery(sel) {\n try {\n return Array.from(document.querySelectorAll(sel)).filter(isVisible);\n } catch (e) {\n return [];\n }\n }\n // T014 P0-3\uFF1A\u533A\u57DF\u89C4\u5219\u547D\u4E2D\u5224\u5B9A\uFF08\u5355\u4E00\u5B9E\u73B0\u2014\u2014identifyRegion \u4E0E region: \u8868\u8FBE\u5F0F\u5171\u7528\uFF0C\u9632\u903B\u8F91\u6F02\u79FB\uFF09\u3002\n // T016 P1-4\uFF08\u5B9E\u8DD1\u4FEE\u590D\uFF09\uFF1AtextContains \u7528 textContent \u800C\u975E innerText\u2014\u2014innerText \u5F3A\u5236\u540C\u6B65\u91CD\u6392\uFF0C\n // \u8BE6\u60C5\u9762\u677F\u6253\u5F00\u540E DOM \u6570\u5343\u5143\u7D20 \u00D7 regionContainerOf \u5168\u904D\u5386 = \u5355\u6B21 evaluate \u6570\u5341\u79D2\uFF08waitSelector\n // \u8F6E\u8BE2\u8D85\u65F6\u5047\u5931\u8D25\uFF09\uFF1BtextContent \u4E0D\u89E6\u53D1\u91CD\u6392\uFF0C\u8BED\u4E49\u7B49\u4EF7\uFF08\u89C4\u5219=\u6587\u672C\u5305\u542B\uFF0C\u4E0D\u4F9D\u8D56\u6E32\u67D3\u5B8C\u6210\u6001\uFF09\u3002\n function ruleHits(rule, el) {\n const m = rule.match || {};\n let hit = true;\n if (m.textContains && !((el.textContent || '').includes(m.textContains))) hit = false;\n if (m.textContainsAll && Array.isArray(m.textContainsAll)) {\n const txt = el.textContent || '';\n for (const kw of m.textContainsAll) {\n if (!txt.includes(kw)) { hit = false; break; }\n }\n }\n if (m.hasInput && !el.querySelector('input, textarea')) hit = false;\n if (m.hasButton && !el.querySelector('button, a[role=\"button\"], [role=\"button\"]')) hit = false;\n if (m.ancestorTag && !(el.tagName || '').toLowerCase().includes(m.ancestorTag)) hit = false;\n if (m.ancestorClass && !((el.className || '').toString().includes(m.ancestorClass))) hit = false;\n return hit;\n }\n // T014 P0-1\uFF1A\u5143\u7D20\u6240\u5C5E\u533A\u57DF\u6807\u7B7E\uFF08\u8D70\u5143\u7D20\u81EA\u8EAB\u2192\u7956\u5148\uFF0C\u9996\u4E2A\u89C4\u5219\u547D\u4E2D\u5373\u8FD4\u56DE\uFF1B\u65E0 \u2192 null\uFF09\n function regionLabelOf(el, rules) {\n let cur = el;\n for (let d = 0; d < 5 && cur; d++) {\n for (const r of rules) {\n if (ruleHits(r, cur)) return { label: r.label, ruleId: r.id };\n }\n cur = cur.parentElement;\n }\n return null;\n }\n // T014 P0-3 + T016 P1-3\uFF1A\u533A\u57DF\u4E3B\u5BB9\u5668\u89E3\u6790\uFF08region:<\u6807\u7B7E> \u4E0E\u5BFB\u5740\u5171\u7528\uFF09\uFF1A\n // self-match \u5019\u9009\uFF08\u9762\u79EF < \u89C6\u53E3\uFF09\u4E2D\uFF0C\u53D6\u300C\u6709\u5B9E\u8D28\u7236\u5019\u9009\u7684\u6700\u6D45\u5B9E\u8D28\u5019\u9009\u300D\u2014\u2014\u8BE6\u60C5\u533A\u6587\u672C\u94FE\n // container \u2283 box \u2283 body \u2283 h3\uFF1Abox \u7684\u7236 container \u662F\u5B9E\u8D28\u5019\u9009\u3001body \u7684\u7236 box \u4E5F\u662F\uFF0C\u53D6\u6700\u6D45\n // = box\uFF08\u542B\u5934\u90E8\u7ECF\u9A8C/\u5B66\u5386/\u85AA\u8D44 + \u6B63\u6587\uFF0CT016 P1-3 \u4FEE\u590D\u2014\u2014\u539F\u300C\u6700\u6DF1\u5B9E\u8D28\u300D\u9009\u5230 body \u4E22\u5934\u90E8\uFF09\uFF1B\n // \u4E14\u907F\u5F00\u542B\u8FB9\u680F/\u6C42\u804C\u610F\u5411\u7684\u5305\u88F9\u5C42 container\uFF08USAGE-ISSUES #16\uFF09\uFF1B\n // \u65E0\u5B9E\u8D28\u7236\u5019\u9009\uFF08\u5217\u8868 ul \u81EA\u8EAB\u3001\u77ED\u6587\u672C\u641C\u7D22\u8868\u5355\uFF09\u2192 \u56DE\u9000\u6700\u5927\u9762\u79EF\u3002\n function regionContainerOf(label, rules) {\n const vw = innerWidth || document.documentElement.clientWidth || 1000;\n const vh = innerHeight || document.documentElement.clientHeight || 800;\n const vpArea = vw * vh;\n const matches = [];\n // T016 P1-4\uFF08\u5B9E\u8DD1\u4FEE\u590D\uFF09\uFF1A\u5168\u904D\u5386\u53EA\u7528\u6837\u5F0F\u5C5E\u6027\u8FC7\u6EE4\uFF08getComputedStyle \u4E0D\u89E6\u53D1\u5E03\u5C40\uFF09\uFF0C\n // rect \u4EC5\u5728\u89C4\u5219\u547D\u4E2D\u540E\u8BFB\u53D6\uFF08\u547D\u4E2D\u5143\u7D20\u6781\u5C11\uFF09\u2014\u2014\u907F\u514D\u8BE6\u60C5\u9762\u677F\u6253\u5F00\u540E\u5BF9\u6570\u5343\u5143\u7D20\u5404\u8BFB\u4E00\u6B21\n // getBoundingClientRect/innerText \u7684 O(n) \u540C\u6B65\u91CD\u6392\uFF08waitSelector \u8F6E\u8BE2 evaluate \u6570\u5341\u79D2\u5047\u8D85\u65F6\uFF09\u3002\n for (const el of Array.from(document.querySelectorAll('body *'))) {\n if (!(el.textContent || '').trim()) continue;\n const s = getComputedStyle(el);\n if (s.display === 'none' || s.visibility === 'hidden' || parseFloat(s.opacity) === 0) continue;\n for (const r of rules) {\n if (r.label === label && ruleHits(r, el)) {\n const rect = el.getBoundingClientRect();\n const area = rect.width * rect.height;\n if (area > 0 && area < vpArea) matches.push({ el, area });\n break;\n }\n }\n }\n if (matches.length === 0) return null;\n const depthOf = (el) => {\n let d = 0;\n let cur = el.parentElement;\n while (cur) { d++; cur = cur.parentElement; }\n return d;\n };\n // \u5B9E\u8D28\u5019\u9009\uFF1A\u6587\u672C \u2265100 \u5B57\uFF08\u77ED\u6587\u672C\u533A\u57DF\u5982\u641C\u7D22\u8868\u5355 \u2192 \u7528\u5168\u90E8\u5019\u9009\uFF09\n const pool = matches.filter((m) => (m.el.textContent || '').trim().length >= 100);\n const candidates = pool.length > 0 ? pool : matches;\n // \u6709\u5B9E\u8D28\u7236\u5019\u9009\u7684\uFF08\u5D4C\u5957\u5728\u53E6\u4E00\u4E2A\u5B9E\u8D28\u5019\u9009\u5185\u2014\u2014\u5185\u5BB9\u5BB9\u5668\u800C\u975E\u5305\u88F9\u5C42\uFF09\n const withParent = candidates.filter((m) => candidates.some((o) => o.el !== m.el && containsNode(o.el, m.el)));\n let best = null;\n if (withParent.length > 0) {\n // \u6700\u6D45\u8005\uFF08\u8BE6\u60C5\u533A box \u6DF1\u4E8E container \u4F46\u6D45\u4E8E body\uFF09\n for (const m of withParent) {\n if (!best || depthOf(m.el) < depthOf(best.el)) best = m;\n }\n } else {\n for (const m of candidates) {\n if (!best || m.area > best.area) best = m;\n }\n }\n return best ? best.el : null;\n }\n // a \u662F\u5426 b \u7684\u7956\u5148\uFF08region \u5BB9\u5668\u300C\u6709\u5B9E\u8D28\u7236\u5019\u9009\u300D\u5224\u5B9A\u7528\uFF09\n function containsNode(a, b) {\n let cur = b.parentElement;\n while (cur) {\n if (cur === a) return true;\n cur = cur.parentElement;\n }\n return false;\n }\n function getBySels(selector) {\n // A3 \u6570\u7EC4\u94FE\uFF08#17 \u4FEE\u590D\uFF09\uFF1A\u4F9D\u6B21\u5C1D\u8BD5\uFF0C\u7B2C\u4E00\u4E2A\u547D\u4E2D\u7684\u8FD4\u56DE\n if (Array.isArray(selector)) {\n for (const s of selector) {\n const nodes = getBySels(s);\n if (nodes.length > 0) return nodes;\n }\n return [];\n }\n const sel = String(selector);\n if (sel.startsWith('text:')) return byText(sel.slice(5));\n // T014 P0-3 + T016\uFF1Aregion:<\u6807\u7B7E>[ >> [\u5B50\u9009\u62E9\u5668] >> <n>] \u2014\u2014 \u5F15\u64CE\u5185\u90E8\u533A\u57DF\u5BFB\u5740\u8868\u8FBE\u5F0F\u3002\n // \u89C4\u5219\u7531 setRegionRules \u6CE8\u5165\uFF08\u968F\u6D41\u7A0B\u5305\u5206\u53D1\uFF0C\u5F15\u64CE\u96F6\u4E1A\u52A1\u903B\u8F91\uFF1B\u4EF2\u88C1\uFF1A\u6CE8\u5165\u89C4\u5219\u5DF2\u6309\u6863\u6848 seen \u91CD\u6392\uFF09\u3002\n // \u4E3B\u5BB9\u5668\u89E3\u6790\uFF08regionContainerOf\uFF09\uFF1Aself-match \u5019\u9009\uFF08\u9762\u79EF < \u89C6\u53E3\uFF09\u4E2D\u53D6\u300C\u6709\u5B9E\u8D28\u7236\u5019\u9009\u7684\u6700\u6D45\n // \u5B9E\u8D28\u5019\u9009\u300D\uFF08\u8BE6\u60C5\u533A box \u542B\u5934\u90E8+\u6B63\u6587\uFF0C\u89C1 USAGE-ISSUES #16/#21 \u4E0E T016 P1-3\uFF09\uFF1B\u65E0 \u2192 \u6700\u5927\u9762\u79EF\u3002\n // \u5BFB\u5740\u8BED\u4E49\uFF08T016 P0-1 \u4FEE\u8BA2\u2014\u2014\u730E\u5934 0.5.6 \u9A8C\u6536\uFF1A\u679A\u4E3E\u5168\u90E8\u53EF\u4EA4\u4E92\u5143\u7D20\u4F1A\u70B9\u5230\u5361\u7247\u5185\u516C\u53F8\u94FE\u63A5\uFF1B\n // T017 P1-2 \u6269\u5C55\uFF1Amatch \u6BB5\u6587\u672C\u8FC7\u6EE4\u2014\u2014\u8DF3\u8FC7\u6807\u9898\u4E0D\u542B\u5173\u952E\u8BCD\u7684\u5361\u7247\uFF08\u63A8\u8350\u4F4D\u6DF7\u5165\uFF09\uFF09\uFF1A\n // 'region:<\u6807\u7B7E> >>' = \u533A\u57DF\u4E3B\u5BB9\u5668\u7684**\u5361\u7247\u7EA7\u76F4\u63A5\u5B50\u9879**\uFF08\u53EF\u89C1 + \u6709\u5B9E\u8D28\u6587\u672C\uFF1B\n // \u5217\u8868\u533A = ul.rec-job-list \u7684\u76F4\u63A5\u5B50\u9879 li/div \u5361\u7247\uFF0Cindex \u4F5C\u7528\u4E8E\u5361\u7247\uFF09\n // 'region:<\u6807\u7B7E> >> <n>' = \u7B2C n \u4E2A\uFF080 \u8D77\uFF09\u5361\u7247\u7EA7\u5B50\u9879\n // 'region:<\u6807\u7B7E> >> [match:<\u6587\u672C>]' = \u5361\u7247\u7EA7\u5B50\u9879\u4E2D\u6587\u672C\u542B <\u6587\u672C> \u7684\u5168\u90E8\uFF08\u8FC7\u6EE4\u63A8\u8350\u4F4D\uFF09\n // 'region:<\u6807\u7B7E> >> [match:<\u6587\u672C>] >> <n>' = \u5176\u4E2D\u7B2C n \u4E2A\uFF08index \u4F5C\u7528\u4E8E\u8FC7\u6EE4\u540E\u96C6\u5408\u2014\u2014\u8DF3\u8FC7\u4E0D\u542B\u5173\u952E\u8BCD\u7684\u5361\u7247\uFF09\n // 'region:<\u6807\u7B7E> >> <\u5B50\u9009\u62E9\u5668> >>' = \u533A\u57DF\u5185\u5339\u914D\u5B50\u9009\u62E9\u5668\u7684\u5168\u90E8\u53EF\u89C1\u5143\u7D20\uFF08\u6DF7\u5408\u5BFB\u5740\uFF09\n // 'region:<\u6807\u7B7E> >> <\u5B50\u9009\u62E9\u5668> >> <n>' = \u5176\u4E2D\u7B2C n \u4E2A\n if (sel.startsWith('region:')) {\n const rest = sel.slice(7).trim();\n const parts = rest.split('>>').map((p) => p.trim());\n const label = parts[0] || '';\n const rules = (window.__rpaDom && window.__rpaDom._regionRules) || [];\n const container = regionContainerOf(label, rules);\n if (!container) return [];\n if (parts.length === 1) return [container];\n // T017 P1-2\uFF1Amatch \u6BB5\uFF08[match:\u6587\u672C]\uFF09= \u6587\u672C\u5305\u542B\u8FC7\u6EE4\uFF08\u901A\u7528\u6846\u67B6\uFF1B\u5173\u952E\u8BCD\u6765\u81EA flow\uFF0C\u5F15\u64CE\u96F6\u4E1A\u52A1\u903B\u8F91\uFF09\u3002\n // \u8F6C\u4E49\u94FE\uFF1ADOM_SOURCE \u662F\u6A21\u677F\u5B57\u7B26\u4E32\uFF0C\u6A21\u677F\u6C42\u503C\u628A\u53CC\u53CD\u659C\u6760\u6536\u4E3A\u5355\u53CD\u659C\u6760\uFF08\u4E00\u5C42\uFF09\uFF1BJS \u5B57\u7B26\u4E32\u5B57\u9762\u91CF\n // \u5BF9\u672A\u77E5\u8F6C\u4E49 [ \u4F1A\u4E22\u5F03\u53CD\u659C\u6760\uFF08\u5B57\u7B26\u7C7B\u9677\u9631\uFF09\u3002\u6545\u6E90\u7801\u5199 4 \u53CD\u659C\u6760 \u2192 \u6A21\u677F\u503C 2 \u53CD\u659C\u6760 \u2192 new RegExp\n // \u6536\u5230 2 \u53CD\u659C\u6760 \u2192 \u6B63\u5219 [ \u8F6C\u4E49\u5339\u914D\u5B57\u9762 [\u3002\u5B9E\u6D4B\uFF1A\u5B57\u9762\u91CF\u4E0E 2 \u53CD\u659C\u6760\u5B57\u7B26\u4E32\u5728\u8F6C\u8BD1\u94FE\u4E2D\u4F1A\u4E22\u8F6C\u4E49\uFF0C\n // \u4EC5 4 \u53CD\u659C\u6760\u5B57\u7B26\u4E32\u5168\u94FE\u5E78\u5B58\uFF08vitest/esbuild/tsc \u4E00\u81F4\uFF09\u3002\n const matchSeg = new RegExp('^\\\\[match:(.*)\\\\]$').exec(parts[1] || '');\n const matchText = matchSeg ? matchSeg[1] : null;\n const sub = matchText !== null ? '' : (parts.length >= 3 ? parts[1] : '');\n const idxPart = matchText !== null ? (parts.length >= 3 ? parts[2] : '') : (parts.length >= 3 ? parts[2] : parts[1] ?? '');\n let nodes;\n if (matchText !== null) {\n // \u5361\u7247\u7EA7\u76F4\u63A5\u5B50\u9879 + \u6587\u672C\u5305\u542B\u8FC7\u6EE4\uFF08\u8DF3\u8FC7\u6807\u9898\u4E0D\u542B\u5173\u952E\u8BCD\u7684\u5361\u7247\u2014\u2014\u641C\u7D22\u6DF7\u5165\u63A8\u8350\u4F4D\u573A\u666F\uFF09\n nodes = Array.from(container.children).filter(isVisible).filter((el) => (el.textContent || '').includes(matchText));\n } else if (sub) {\n nodes = Array.from(container.querySelectorAll(sub)).filter(isVisible);\n } else {\n // \u5361\u7247\u7EA7\u76F4\u63A5\u5B50\u9879\uFF08T016 P0-1\uFF1A\u907F\u514D\u70B9\u5230\u5361\u7247\u5185\u516C\u53F8\u94FE\u63A5\u7B49\u5185\u90E8\u53EF\u4EA4\u4E92\u5143\u7D20\uFF09\n // T016 P1-4\uFF1AtextContent\uFF08\u4E0D\u5F3A\u5236\u91CD\u6392\uFF1BinnerText \u5728\u8BE6\u60C5\u9762\u677F\u6253\u5F00\u540E\u62D6\u6162 evaluate\uFF09\n nodes = Array.from(container.children).filter(isVisible).filter((el) => (el.textContent || '').trim().length > 0);\n }\n if (idxPart === '') return nodes;\n const n = Number(idxPart);\n return Number.isInteger(n) && n >= 0 && n < nodes.length ? [nodes[n]] : [];\n }\n // #16-B \u7F16\u53F7\u5BFB\u5740\uFF08\u865A\u62DF\u7A7A\u95F4\u89C6\u89C9\uFF09\uFF1A#N = numberedElements \u5217\u8868\u7B2C N \u4E2A\u53EF\u89C1\u4EA4\u4E92\u5143\u7D20\uFF081 \u8D77\uFF09\u3002\n // \u5FEB\u7167\u7F16\u53F7\u4E0E\u5BFB\u5740\u5171\u7528\u540C\u4E00\u679A\u4E3E \u2192 Agent/\u65E5\u5FD7\u53EF\u300C\u770B\u7F16\u53F7\u76F4\u63A5\u70B9\u300D\uFF1B\u7F16\u53F7\u968F DOM \u53D8\u5316\uFF0C\u64CD\u4F5C\u65F6\u73B0\u53D6\u3002\n const numMatch = sel.match(/^#(d+)$/);\n if (numMatch) {\n const idx = Number(numMatch[1]) - 1;\n const tags = 'a,button,input,select,textarea,[role=\"button\"],[role=\"link\"],[contenteditable=\"true\"]';\n const nodes = Array.from(document.querySelectorAll(tags)).filter(isVisible);\n return idx >= 0 && idx < nodes.length ? [nodes[idx]] : [];\n }\n // \u6DF7\u5408\u4E32\uFF08CSS \u4E0E text: \u9017\u53F7\u5206\u9694\uFF0C\u5982 \"a.search-btn, text:\u641C\u7D22\"\uFF09\uFF1A\u9010\u6BB5\u5C1D\u8BD5\u5408\u5E76\u53BB\u91CD\n // \uFF08#17 \u4FEE\u590D\uFF1Atext: \u6BB5\u4E0D\u80FD\u518D\u6DF7\u8FDB querySelectorAll\u2014\u2014\u6574\u4F53\u4F1A SyntaxError \u5931\u6548\uFF09\n const parts = sel.split(',').map((p) => p.trim()).filter(Boolean);\n if (parts.length > 1 || parts.some((p) => p.startsWith('text:'))) {\n const out = [];\n for (const p of parts) {\n const nodes = p.startsWith('text:') ? byText(p.slice(5)) : safeQuery(p);\n for (const n of nodes) {\n if (isVisible(n) && !out.includes(n)) out.push(n);\n }\n }\n return out;\n }\n return safeQuery(sel);\n }\n function pick(selector, index) {\n const nodes = getBySels(selector);\n return nodes[index] || nodes[0] || null;\n }\n function scrollIntoView(selector, index) {\n const el = pick(selector, index);\n if (!el) return false;\n el.scrollIntoView({ block: 'center', inline: 'center' });\n return true;\n }\n // T012 P1-2\uFF1A\u8F7B\u91CF\u62DF\u4EBA\u6EDA\u52A8\u2014\u2014\u5206\u6BB5\u6E10\u8FDB\u6EDA\u52A8\uFF082~5 \u6BB5\uFF0C\u6BB5\u95F4 30~120ms \u968F\u673A\u8282\u594F\uFF09\uFF0C\n // \u7EC8\u4F4D\u4E0E scrollIntoView \u4E00\u81F4\uFF08block:center\uFF09\u2014\u2014\u53EA\u6539\u8282\u594F\u4E0D\u6539\u843D\u70B9\uFF0C\u529F\u80FD\u4E0D\u56DE\u5F52\u3002\n // T016 P1-4\uFF08\u5B9E\u8DD1\u4FEE\u590D\uFF09\uFF1A\u6539\u4E3A**\u540C\u6B65**\u5B9E\u73B0\u3002\u539F\u5F02\u6B65\u7248\u4F9D\u8D56\u9875\u9762 setTimeout \u94FE\uFF0C\u800C\u9875\u9762\u4E3B\u7EBF\u7A0B\n // \u7E41\u5FD9\uFF08\u8BE6\u60C5\u9762\u677F\u6E32\u67D3/\u6BCF\u6B65 pageText \u540C\u6B65\u91CD\u6392\uFF09\u65F6 setTimeout \u88AB\u6781\u7AEF\u8282\u6D41 \u2192 promise \u6C38\u4E0D\n // resolve \u2192 CDP evaluate awaitPromise \u6302\u8D77\uFF08\u4EC5\u9760 60s \u547D\u4EE4\u8D85\u65F6\u515C\u5E95\uFF0C\u8868\u73B0\u4E3A\u5076\u53D1\u5361\u6B7B\uFF09\u3002\n // \u540C\u6B65\u7248\u843D\u70B9\u4E0D\u53D8\uFF08\u5206\u6BB5\u7F13\u52A8\u6539\u4E3A\u76F4\u63A5 scrollTo + scrollIntoView block:center\uFF09\uFF0C\n // \u8FD4\u56DE true\uFF08\u4E0E\u65E7\u540C\u6B65\u5931\u8D25\u5206\u652F false \u517C\u5BB9\uFF09\uFF1Bevaluate awaitPromise \u5BF9\u540C\u6B65\u503C\u7ACB\u5373\u8FD4\u56DE\u3002\n function scrollIntoViewRhythm(selector, index) {\n const el = pick(selector, index);\n if (!el) return false;\n const vh = innerHeight || document.documentElement.clientHeight || 600;\n const rect = el.getBoundingClientRect();\n const curTop = pageYOffset || document.documentElement.scrollTop || 0;\n const targetY = curTop + rect.top - (vh - Math.min(rect.height, vh)) / 2;\n window.scrollTo(0, Math.round(targetY));\n el.scrollIntoView({ block: 'center', inline: 'center' });\n return true;\n }\n function textOf(selector, index) {\n const el = pick(selector, index);\n return el ? (el.innerText || el.textContent || '') : '';\n }\n function focusInput(selector, index) {\n const el = pick(selector, index);\n if (!el) return false;\n if (typeof el.select === 'function') el.select();\n el.focus();\n return true;\n }\n function pageText() {\n let t = document.body ? document.body.innerText : '';\n const inputs = Array.from(document.querySelectorAll('input, textarea, [contenteditable=\"true\"]'));\n for (const el of inputs) {\n const v = el.value || el.textContent || '';\n if (v) t += '\\n' + v;\n }\n return t;\n }\n function numberedElements(maxN) {\n const tags = 'a,button,input,select,textarea,[role=\"button\"],[role=\"link\"],[contenteditable=\"true\"]';\n const nodes = Array.from(document.querySelectorAll(tags)).filter(isVisible);\n const cap = maxN || 50;\n return nodes.slice(0, cap).map(el => ({\n tag: el.tagName.toLowerCase(),\n text: (el.innerText || el.value || el.textContent || '').trim().slice(0, 40)\n }));\n }\n // #16-A \u865A\u62DF\u7A7A\u95F4\u89C6\u89C9\uFF1A\u5143\u7D20\u8BED\u4E49\u63CF\u8FF0\uFF08\u906E\u6321\u68C0\u6D4B/\u65E5\u5FD7\u7528\uFF09\n function describeEl(el) {\n if (!el || el.nodeType !== 1) return null;\n const t = (el.innerText || el.value || el.textContent || '').trim();\n return {\n tag: el.tagName.toLowerCase(),\n cls: (el.className || '').toString().slice(0, 60),\n text: t.slice(0, 30),\n role: el.getAttribute && el.getAttribute('role'),\n };\n }\n // P3 \u8BED\u4E49\u951A\u70B9\uFF1A\u547D\u4E2D\u5143\u7D20\u6307\u7EB9\uFF08\u52A8\u4F5C\u6210\u529F\u65F6\u91C7\u96C6\uFF0C\u4F9B\u9009\u62E9\u5668\u5931\u6548\u65F6\u751F\u6210\u66FF\u4EE3\u5B9A\u4F4D\uFF09\u3002\n // \u53EA\u6709\u53EF\u91CD\u5B9A\u4F4D\u7684\u8BED\u4E49\u7279\u5F81\uFF08tag/\u6587\u672C\u622A\u65AD/placeholder/aria-label/name\uFF09\u2014\u2014\u65E0\u5750\u6807\u65E0\u539F\u6587\u3002\n // \u63A9\u7801\u524D\u79FB\uFF08\u94C1\u5F8B\uFF09\uFF1A\u8868\u5355\u5143\u7D20\uFF08input/textarea/select\uFF09\u7EDD\u4E0D\u53D6 value\u2014\u2014\u90A3\u662F\u7528\u6237\u8F93\u5165\u503C\n // \uFF08\u641C\u7D22\u8BCD/\u7535\u8BDD\u7B49\u654F\u611F\u539F\u6587\uFF09\uFF0C\u843D\u76D8\u5373\u8FDD\u89C4\uFF1B\u8868\u5355\u951A\u70B9\u53EA\u7528 placeholder/name/aria-label\u3002\n // T014 P1-4\uFF1A\u9644\u52A0\u6240\u5728\u533A\u57DF\u6807\u7B7E\uFF08region\uFF09\u2014\u2014\u951A\u70B9\u53EA\u5728\u540C\u4E00\u533A\u57DF\u590D\u7528\uFF08\u89C4\u5219\u7531 setRegionRules \u6CE8\u5165\uFF09\u3002\n function describeHit(selector, index) {\n const el = pick(selector, index);\n if (!el) return null;\n const tag = el.tagName.toLowerCase();\n const isForm = tag === 'input' || tag === 'textarea' || tag === 'select';\n const t = isForm ? '' : (el.innerText || el.textContent || '').trim().slice(0, 30);\n const get = (k) => { try { return el.getAttribute(k) || undefined; } catch (e) { return undefined; } };\n const rules = (window.__rpaDom && window.__rpaDom._regionRules) || [];\n const regionHit = rules.length > 0 ? regionLabelOf(el, rules) : null;\n return {\n tag,\n ...(t ? { text: t } : {}),\n ...(get('placeholder') ? { placeholder: get('placeholder') } : {}),\n ...(get('aria-label') ? { ariaLabel: get('aria-label') } : {}),\n ...(get('name') ? { name: get('name') } : {}),\n ...(regionHit ? { region: regionHit.label } : {}),\n };\n }\n // #16-B/P2 \u533A\u57DF\u8BC6\u522B\uFF1A\u76EE\u6807\u5143\u7D20\u5411\u4E0A\u904D\u5386\u7956\u5148\uFF08\u22645 \u5C42\uFF09\uFF0C\u7528\u884C\u4E3A\u89C4\u5219\u5339\u914D\u51FA\u533A\u57DF\u6807\u7B7E\u3002\n // \u89C4\u5219\uFF08behavior.rules.json \u968F\u6D41\u7A0B\u5305\u5206\u53D1\uFF0C\u5F15\u64CE\u96F6\u4E1A\u52A1\u903B\u8F91\uFF09\uFF1A\u5168\u90E8 match \u6761\u4EF6\u6EE1\u8DB3\u624D\u547D\u4E2D\u3002\n // \u8FD4\u56DE { label, ruleId, ancestry }\u2014\u2014ancestry \u4E3A\u7956\u5148\u94FE\u6458\u8981\uFF08\u6297\u6539\u7248\u91CD\u5B9A\u4F4D\u7528\uFF09\u3002\n // T014\uFF1A\u6761\u4EF6\u5224\u5B9A\u7EDF\u4E00\u8D70 ruleHits\uFF08\u4E0E region: \u8868\u8FBE\u5F0F\u5171\u7528\uFF0C\u9632\u6F02\u79FB\uFF09\u3002\n function identifyRegion(selector, index, rulesJson) {\n const target = pick(selector, index);\n if (!target) return null;\n let rules = [];\n try { rules = JSON.parse(rulesJson || '[]'); } catch (e) { rules = []; }\n const ancestry = [];\n let el = target;\n for (let d = 0; d < 5 && el; d++) {\n if (el !== target && el.nodeType === 1) {\n const cls = (el.className || '').toString().slice(0, 40);\n ancestry.push(el.tagName.toLowerCase() + (cls ? '.' + cls : ''));\n }\n // \u7528\u89C4\u5219\u5339\u914D\u5F53\u524D\u7956\u5148\n for (const r of rules) {\n if (ruleHits(r, el)) {\n return { label: r.label, ruleId: r.id, ancestry: ancestry.slice(0, 3) };\n }\n }\n el = el.parentElement;\n }\n return { label: undefined, ruleId: undefined, ancestry: ancestry.slice(0, 3) };\n }\n // T014 P0-3\uFF1A\u6CE8\u5165\u533A\u57DF\u89C4\u5219\uFF08behavior.rules.json \u968F\u6D41\u7A0B\u5305\u5206\u53D1\uFF1Bregion: \u8868\u8FBE\u5F0F\u4E0E describeHit\n // \u533A\u57DF\u6807\u6CE8\u5171\u7528\uFF1B\u5F15\u64CE\u96F6\u4E1A\u52A1\u903B\u8F91\u2014\u2014\u53EA\u5B58\u89C4\u5219 JSON\uFF09\u3002\u5E42\u7B49\uFF1A\u91CD\u590D\u6CE8\u5165\u8986\u76D6\u3002\n function setRegionRules(rulesJson) {\n let rules = [];\n try { rules = JSON.parse(rulesJson || '[]'); } catch (e) { rules = []; }\n window.__rpaDom._regionRules = rules;\n return true;\n }\n // #16-A \u70B9\u51FB\u524D\u906E\u6321\u68C0\u6D4B\uFF1A\u8FD4\u56DE (x,y) \u5904\u6700\u9876\u5C42\u5143\u7D20 + \u8BE5\u5143\u7D20\u662F\u5426\u5C5E\u4E8E\u76EE\u6807\uFF08\u76EE\u6807\u6216\u5176\u540E\u4EE3\uFF09\n function hitTestAt(selector, index, x, y) {\n const target = pick(selector, index);\n if (!target) return { found: false };\n const top = document.elementFromPoint(x, y);\n if (!top) return { found: true, hit: false, top: null };\n const hit = top === target || target.contains(top);\n return {\n found: true,\n hit,\n top: describeEl(top),\n target: describeEl(target),\n };\n }\n // #16-A \u5BF9\u8BDD\u6846\u5173\u95ED\uFF1A\u906E\u6321\u8005\uFF08dialog-layer \u7B49\u906E\u7F69\uFF09\u5185\u7684\u5173\u95ED\u6309\u94AE\u5750\u6807\uFF08\u4F9B\u5F15\u64CE\u70B9\u51FB\u5173\u95ED\u540E\u91CD\u8BD5\uFF09\n function findDialogClose(selector, index) {\n const target = pick(selector, index);\n if (!target) return null;\n const cx = Math.round(target.getBoundingClientRect().left + target.getBoundingClientRect().width / 2);\n const cy = Math.round(target.getBoundingClientRect().top + target.getBoundingClientRect().height / 2);\n const top = document.elementFromPoint(cx, cy);\n if (!top) return null;\n // \u627E\u6700\u9876\u5C42\u5143\u7D20\u4F5C\u4E3A\u906E\u6321\u8005\uFF08dialog-layer/\u906E\u7F69\uFF09\uFF0C\u5728\u5176\u5185\u627E\u5173\u95ED\u6309\u94AE\n let blocker = top;\n while (blocker && blocker !== document.body) {\n const s = getComputedStyle(blocker);\n if ((s.position === 'fixed' || s.position === 'absolute') && parseFloat(s.zIndex) >= 100) break;\n blocker = blocker.parentElement;\n }\n if (!blocker || blocker === document.body) return null;\n // \u5173\u95ED\u6309\u94AE\u641C\u7D22\u8303\u56F4\uFF1A\u906E\u6321\u8005\u81EA\u8EAB + \u5176\u5BF9\u8BDD\u6846\u7956\u5148\uFF08T014 \u9636\u6BB5 2 \u5B9E\u8DD1\u53D1\u73B0\uFF1A\u6B8B\u7559\u5BF9\u8BDD\u6846\u7684\n // .dialog-layer \u906E\u7F69\u4E0B\u5173\u95ED\u6309\u94AE\u5728 dialog-wrap \u5185\u2014\u2014v-leave \u5361\u4F4F\u7684\u5BF9\u8BDD\u6846\u906E\u6321\u6574\u9875\u65F6\uFF0C\n // \u5F15\u64CE\u70B9\u51FB\u5176\u5173\u95ED\u6309\u94AE\u515C\u5E95\u5173\u95ED\uFF0C\u91CD\u8BD5\u76EE\u6807\u70B9\u51FB\uFF09\u3002\n let scope = blocker;\n let walk = blocker.parentElement;\n while (walk && walk !== document.body) {\n if (/(dialog|layer|mask|modal|popup|panel)/i.test((walk.className || '').toString()) && walk.getBoundingClientRect().width > 0) {\n scope = walk;\n }\n walk = walk.parentElement;\n }\n // \u5173\u95ED\u6309\u94AE\u5019\u9009\uFF1Aclass \u542B close / \u56FE\u6807\u6309\u94AE / \u6587\u672C \u00D7\n const closeBtns = [...scope.querySelectorAll('a,button,[role=\"button\"],i,span,div')].filter((el) => {\n const cls = (el.className || '').toString();\n const txt = (el.innerText || '').trim();\n const r = el.getBoundingClientRect();\n return r.width > 8 && r.height > 8 &&\n (/close|close-btn|icon-close|dialog-close|del|btn-close/i.test(cls) || txt === '\u00D7' || txt === '\u2715' || txt === 'X' || txt === '\u5173\u95ED');\n });\n const btn = closeBtns[0];\n if (!btn) return null;\n const r = btn.getBoundingClientRect();\n return { x: Math.round(r.left + r.width / 2), y: Math.round(r.top + r.height / 2), cls: (btn.className || '').toString().slice(0, 40) };\n }\n // #16-A \u539F\u5B50\u5316\u906E\u6321\u68C0\u6D4B\uFF1A\u4E0E rect \u91C7\u96C6\u540C\u4E00\u6B21\u6C42\u503C\uFF08\u6D88\u9664\u300C\u91C7\u96C6-\u68C0\u6D4B\u300D\u4E24\u6B21\u6C42\u503C\u95F4\u7684 DOM \u7ADE\u6001\uFF09\u3002\n // \u8FD4\u56DE\u6BCF\u4E2A\u53EF\u89C1\u76EE\u6807\u7684 rect + \u4E2D\u5FC3\u70B9\u547D\u4E2D\u4FE1\u606F + \u5B89\u5168\u70B9\u51FB\u70B9\uFF1A\n // hit=true \u4E2D\u5FC3\u70B9\u547D\u4E2D\u76EE\u6807\u6216\u5176\u975E\u4EA4\u4E92\u540E\u4EE3\uFF08\u5B89\u5168\u70B9\u51FB\u70B9\uFF09\n // hit=false \u4E2D\u5FC3\u70B9\u88AB\u771F\u5B9E\u906E\u6321\uFF08\u6D6E\u52A8\u5C42/\u5F39\u5C42/\u5176\u5B83\u5143\u7D20\u8986\u76D6\uFF09\n // danger=true \u4E2D\u5FC3\u70B9\u843D\u5728\u76EE\u6807\u5185\u7684\u3010\u53EF\u4EA4\u4E92\u5B50\u5143\u7D20\u3011\uFF08\u94FE\u63A5/\u6309\u94AE\u7B49\uFF09\u4E0A\u2014\u2014\u70B9\u51FB\u4F1A\u89E6\u53D1\u5B50\u5143\u7D20\u800C\u975E\u76EE\u6807\n // safe \u77E9\u5F62\u5185\u626B\u63CF\u5230\u7684\u7B2C\u4E00\u4E2A\u300C\u5C5E\u4E8E\u76EE\u6807\u4E14\u975E\u4EA4\u4E92\u5B50\u5143\u7D20\u300D\u7684\u70B9\uFF08\u4E2D\u5FC3\u88AB\u76D6/\u5371\u9669\u65F6\u6362\u70B9\u7528\uFF09\uFF1B\n // \u65E0\u5B89\u5168\u70B9\u5219 null\uFF08\u6574\u4E2A\u76EE\u6807\u88AB\u76D6 \u2192 \u5F15\u64CE\u4FA7 ESC \u5173\u95ED\u6D6E\u52A8\u5C42\u91CD\u8BD5\uFF09\n // top=null\uFF08elementFromPoint \u65E0\u7ED3\u679C\uFF0C\u5982\u5143\u7D20\u90E8\u5206\u5728\u89C6\u53E3\u5916/\u6E32\u67D3\u8FB9\u7F18\uFF09\u2192 \u4E0D\u89C6\u4E3A\u906E\u6321\uFF0Chit=true\u3002\n function clickableRects(selector) {\n const d = window.__rpaDom;\n const nodes = d && d.getBySels ? d.getBySels(selector) : [];\n const vw = innerWidth || document.documentElement.clientWidth;\n const vh = innerHeight || document.documentElement.clientHeight;\n const out = [];\n const INTERACTIVE = 'a,button,[role=\"button\"],[role=\"link\"],input,select,textarea,[onclick],label';\n const isSafeHit = (el, top) => {\n if (!top) return false;\n if (top === el) return true;\n if (el.contains(top)) {\n return !(top.closest && top.closest(INTERACTIVE) === top);\n }\n return false;\n };\n for (let i = 0; i < nodes.length; i++) {\n const el = nodes[i];\n const t = el.getBoundingClientRect();\n const fullW = Math.max(1, t.width);\n const fullH = Math.max(1, t.height);\n const x = Math.max(t.left, 0);\n const y = Math.max(t.top, 0);\n const w = Math.max(0, Math.min(t.right, vw) - x);\n const h = Math.max(0, Math.min(t.bottom, vh) - y);\n if (w <= 0 || h <= 0) continue;\n // #16-A \u53EF\u89C1\u6BD4\u4F8B\uFF1A\u89C6\u53E3\u5185\u9762\u79EF / \u603B\u9762\u79EF\u3002\u7A84\u89C6\u53E3\u4E0B\u5927\u90E8\u5206\u5728\u89C6\u53E3\u5916\u7684\u5143\u7D20\n // \uFF08\u5982\u9876\u90E8\u5BFC\u822A\u53F3\u4FA7\u7684\u641C\u7D22\u6309\u94AE\uFF09\u70B9\u51FB\u5750\u6807\u4F1A\u843D\u5728\u89C6\u53E3\u5916/\u8FB9\u7F18 \u2192 CDP input \u6302\u8D77\u6216\u70B9\u7A7A\u3002\n // \u53EF\u89C1\u6BD4\u4F8B < 50% \u2192 \u6807\u8BB0 partiallyVisible\uFF0C\u5F15\u64CE\u4FA7\u62A5\u300C\u76EE\u6807\u5927\u90E8\u5206\u5728\u89C6\u53E3\u5916\u300D\u800C\u975E\u5C1D\u8BD5\u70B9\u51FB\u3002\n const visibleRatio = (w * h) / (fullW * fullH);\n const partiallyVisible = visibleRatio < 0.5;\n if (partiallyVisible) {\n out.push({\n x: Math.round(x), y: Math.round(y), w: Math.round(w), h: Math.round(h),\n hit: false, danger: false, safe: null, partiallyVisible: true, top: null, target: describeEl(el),\n });\n continue;\n }\n const cx = Math.round(x + w / 2);\n const cy = Math.round(y + h / 2);\n const top = document.elementFromPoint(cx, cy);\n if (!top) {\n // elementFromPoint \u65E0\u7ED3\u679C\uFF1A\u53EF\u89C1\u6BD4\u4F8B\u8DB3\u591F\uFF08\u226550%\uFF09\u4F46\u53D6\u4E0D\u5230\u9876\u5C42\u5143\u7D20 \u2192 \u6E32\u67D3\u8FB9\u754C\u5BB9\u5FCD\uFF0C\u4E0D\u963B\u585E\n out.push({\n x: Math.round(x), y: Math.round(y), w: Math.round(w), h: Math.round(h),\n hit: true, danger: false, safe: null, partiallyVisible: false, top: null, target: describeEl(el),\n });\n continue;\n }\n // T014 \u9636\u6BB5 2 \u5B9E\u8DD1\u53D1\u73B0\uFF1A\u6B8B\u7559\u5BF9\u8BDD\u6846 mask\uFF08visibility:hidden / opacity:0 \u7684\u5168\u5C4F\u906E\u7F69\u2014\u2014\n // zhipin \u57CE\u5E02\u9009\u62E9\u5668\u5173\u95ED\u540E .dialog-layer \u7559\u5728 DOM\uFF09\u4F1A\u88AB elementFromPoint \u547D\u4E2D\uFF0C\u4F46\u771F\u5B9E\n // \u6307\u9488\u4E8B\u4EF6\u7A7F\u900F\uFF08\u4E0D\u53EF\u89C1\u5143\u7D20\u4E0D\u53C2\u4E0E\u547D\u4E2D\u6D4B\u8BD5\uFF09\u2192 \u4E0D\u6784\u6210\u771F\u5B9E\u906E\u6321\uFF0C\u89C6\u4E3A hit\uFF08\u9632 ESC \u6B7B\u5FAA\u73AF\uFF09\u3002\n const topStyle = getComputedStyle(top);\n if (topStyle.visibility === 'hidden' || parseFloat(topStyle.opacity) === 0) {\n out.push({\n x: Math.round(x), y: Math.round(y), w: Math.round(w), h: Math.round(h),\n hit: true, danger: false, safe: null, partiallyVisible: false, top: null, target: describeEl(el),\n });\n continue;\n }\n const belongs = top === el || el.contains(top);\n const isInteractiveChild = top !== el && el.contains(top) && top.closest && top.closest(INTERACTIVE) === top;\n // T019 P0-1\uFF1A\u906E\u6321\u8005\u7C7B\u578B\u8BC6\u522B\u2014\u2014\u300C\u8F93\u5165\u8054\u60F3\u4E0B\u62C9\u300D\u7C7B\u8986\u76D6\u5C42\uFF08antd autocomplete/select-dropdown/\n // \u641C\u7D22\u8054\u60F3\u7B49\uFF09\u3002\u8FD9\u7C7B\u906E\u6321\u4E0D\u662F\u300C\u5371\u9669\u70B9\u300D\uFF1A\u5E94\u5173\u95ED\u4E0B\u62C9\u540E\u70B9\u51FB\u76EE\u6807\uFF08\u800C\u975E\u8BEF\u5224\u91CD\u8BD5\u6B7B\u5FAA\u73AF\uFF09\u3002\n // \u8BC6\u522B\uFF1A\u906E\u6321\u8005 class \u542B\u4E0B\u62C9\u7279\u5F81\uFF0C\u6216\u906E\u6321\u8005\u5185\u542B\u591A\u4E2A\u5217\u8868\u9879\uFF08li/option\uFF09\uFF0C\u6216\u906E\u6321\u8005\u662F ul/ol\u3002\n let overlayKind = null;\n if (!belongs && top) {\n const topCls = (top.className || '').toString();\n const topTag = (top.tagName || '').toLowerCase();\n const dropdownish = /dropdown|select-dropdown|autocomplete|combobox|popover|suggest|\u8054\u60F3|option|menu-item/i.test(topCls);\n const liCount = top.querySelectorAll ? top.querySelectorAll('li, [role=\"option\"], .option-item, [class*=\"item\" i]').length : 0;\n if (dropdownish || liCount >= 2 || topTag === 'ul' || topTag === 'ol') {\n overlayKind = 'dropdown';\n }\n }\n // \u4E2D\u5FC3\u88AB\u76D6/\u5371\u9669 \u2192 \u626B\u63CF\u77E9\u5F62\u5185\u90E8\u627E\u5B89\u5168\u70B9\uFF085\u00D75 \u7F51\u683C\uFF0C\u907F\u5F00\u4EA4\u4E92\u5B50\u5143\u7D20\u4E0E\u906E\u6321\uFF09\n let safe = null;\n if (!(belongs && !isInteractiveChild)) {\n for (let gy = 1; gy <= 4 && !safe; gy++) {\n for (let gx = 1; gx <= 4 && !safe; gx++) {\n const sx = Math.round(x + (w * gx) / 5);\n const sy = Math.round(y + (h * gy) / 5);\n const st = document.elementFromPoint(sx, sy);\n if (st && isSafeHit(el, st)) safe = { x: sx, y: sy };\n }\n }\n }\n out.push({\n x: Math.round(x), y: Math.round(y), w: Math.round(w), h: Math.round(h),\n hit: belongs && !isInteractiveChild,\n danger: isInteractiveChild,\n safe,\n partiallyVisible: false,\n top: describeEl(top),\n target: describeEl(el),\n ...(overlayKind ? { overlayKind } : {}),\n });\n }\n return out;\n }\n // #16-A \u76EE\u6807\u77E9\u5F62\u5185\u627E\u5B89\u5168\u70B9\u51FB\u70B9\uFF1A\u7F51\u683C\u91C7\u6837\uFF085\u00D75\uFF09\uFF0C\u8FD4\u56DE\u7B2C\u4E00\u4E2A\u300C\u5C5E\u4E8E\u76EE\u6807\u4E14\u4E0D\u5728\u53EF\u4EA4\u4E92\u5B50\u5143\u7D20\u4E0A\u300D\u7684\u70B9\u3002\n // \u5927\u5BB9\u5668\u5361\u7247\uFF08\u5982 job-card-wrap\uFF09\u4E2D\u5FC3\u5E38\u843D\u5728\u516C\u53F8\u94FE\u63A5/\u804C\u4F4D\u8BE6\u60C5\u94FE\u63A5\u4E0A\uFF0C\u76F4\u63A5\u70B9\u4F1A\u8BEF\u8DF3\u8F6C\uFF1B\n // \u5B89\u5168\u70B9\u907F\u5F00\u4EA4\u4E92\u5B50\u5143\u7D20\uFF08a/button/[onclick]\uFF09\uFF0C\u53EA\u843D\u5728\u6587\u672C/\u7A7A\u767D\u533A\u57DF\uFF08\u70B9\u51FB\u4ECD\u7531\u7236\u7EA7\u4E8B\u4EF6\u5192\u6CE1\u5904\u7406\uFF09\u3002\n function safePointIn(selector, index) {\n const el = pick(selector, index);\n if (!el) return null;\n const t = el.getBoundingClientRect();\n const INTERACTIVE = 'a,button,[role=\"button\"],[role=\"link\"],input,select,textarea,[onclick],label';\n for (let gy = 2; gy <= 3; gy++) {\n for (let gx = 2; gx <= 3; gx++) {\n const cx = Math.round(t.left + (t.width * gx) / 5);\n const cy = Math.round(t.top + (t.height * gy) / 5);\n const top = document.elementFromPoint(cx, cy);\n if (!top) continue;\n if (top === el || el.contains(top)) {\n const bad = top !== el && top.closest && top.closest(INTERACTIVE) === top;\n if (!bad) return { x: cx, y: cy };\n }\n }\n }\n // \u515C\u5E95\uFF1A\u4E2D\u5FC3\u70B9\uFF08\u53EF\u80FD\u5371\u9669\uFF0C\u7531\u5F15\u64CE\u4FA7\u518D\u5224\u65AD\uFF09\n return { x: Math.round(t.left + t.width / 2), y: Math.round(t.top + t.height / 2) };\n }\n return { getBySels, scrollIntoView, scrollIntoViewRhythm, textOf, focusInput, pageText, numberedElements, describeEl, describeHit, hitTestAt, clickableRects, safePointIn, identifyRegion, findDialogClose, setRegionRules, _domVersion: 4 };\n})();\ntrue\n";
|
|
21
21
|
/**
|
|
22
22
|
* T007 P0-1:input 事件补派发(insertText 改 DOM value 不触发 input 事件——React 受控组件
|
|
23
23
|
* onChange 同步 state 需要;BATCH-D:导出为 const,mock 回归可直接求值,避免测试复制漂移)。
|
package/dist/cdp/page.js
CHANGED
|
@@ -463,6 +463,19 @@ window.__rpaDom = (function() {
|
|
|
463
463
|
}
|
|
464
464
|
const belongs = top === el || el.contains(top);
|
|
465
465
|
const isInteractiveChild = top !== el && el.contains(top) && top.closest && top.closest(INTERACTIVE) === top;
|
|
466
|
+
// T019 P0-1:遮挡者类型识别——「输入联想下拉」类覆盖层(antd autocomplete/select-dropdown/
|
|
467
|
+
// 搜索联想等)。这类遮挡不是「危险点」:应关闭下拉后点击目标(而非误判重试死循环)。
|
|
468
|
+
// 识别:遮挡者 class 含下拉特征,或遮挡者内含多个列表项(li/option),或遮挡者是 ul/ol。
|
|
469
|
+
let overlayKind = null;
|
|
470
|
+
if (!belongs && top) {
|
|
471
|
+
const topCls = (top.className || '').toString();
|
|
472
|
+
const topTag = (top.tagName || '').toLowerCase();
|
|
473
|
+
const dropdownish = /dropdown|select-dropdown|autocomplete|combobox|popover|suggest|联想|option|menu-item/i.test(topCls);
|
|
474
|
+
const liCount = top.querySelectorAll ? top.querySelectorAll('li, [role="option"], .option-item, [class*="item" i]').length : 0;
|
|
475
|
+
if (dropdownish || liCount >= 2 || topTag === 'ul' || topTag === 'ol') {
|
|
476
|
+
overlayKind = 'dropdown';
|
|
477
|
+
}
|
|
478
|
+
}
|
|
466
479
|
// 中心被盖/危险 → 扫描矩形内部找安全点(5×5 网格,避开交互子元素与遮挡)
|
|
467
480
|
let safe = null;
|
|
468
481
|
if (!(belongs && !isInteractiveChild)) {
|
|
@@ -483,6 +496,7 @@ window.__rpaDom = (function() {
|
|
|
483
496
|
partiallyVisible: false,
|
|
484
497
|
top: describeEl(top),
|
|
485
498
|
target: describeEl(el),
|
|
499
|
+
...(overlayKind ? { overlayKind } : {}),
|
|
486
500
|
});
|
|
487
501
|
}
|
|
488
502
|
return out;
|
package/dist/cdp/page.js.map
CHANGED
|
@@ -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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"}
|
package/dist/human.js
CHANGED
|
@@ -397,9 +397,13 @@ export class Human {
|
|
|
397
397
|
// #16-A 安全点击点选择:
|
|
398
398
|
// 1. 中心命中(hit=true)→ 中心随机点
|
|
399
399
|
// 2. 中心被盖/危险,但矩形内有安全点(safe)→ 用 safe 点(fixed 筛选栏覆盖卡片顶部等场景)
|
|
400
|
-
// 3. 整个目标被盖(无 safe)→
|
|
400
|
+
// 3. 整个目标被盖(无 safe)→ 关闭覆盖层 → 重新采集重试(≤3 次)
|
|
401
|
+
// T019 P0-1:覆盖层若为「输入联想下拉」(overlayKind=dropdown,antd autocomplete 等)→
|
|
402
|
+
// 走下拉专用关闭路径:ESC 关闭 + 轮询等待下拉消失(antd 动画期)→ 再点;ESC 无效则点击
|
|
403
|
+
// 页面空白处关闭(antd 点外部关闭语义);总耗时受控(≤3s,杜绝 123s 遮挡死循环)。
|
|
401
404
|
const rect = rects[targetIdx];
|
|
402
405
|
const safePt = rect.safe;
|
|
406
|
+
const overlayKind = rect.overlayKind;
|
|
403
407
|
// 初始兜底(正常情况下会被下面分支覆盖;防御 TS 未赋值判定)
|
|
404
408
|
let at = Human.randomPointIn(rect, [2, 2, 2, 2], rng);
|
|
405
409
|
if (rect.hit) {
|
|
@@ -417,16 +421,19 @@ export class Human {
|
|
|
417
421
|
: selector;
|
|
418
422
|
throw HumanError.sink(`点击目标大部分在视口外(可见 <50%): ${targetDesc}(selector=${selector} idx=${targetIdx})`);
|
|
419
423
|
}
|
|
420
|
-
//
|
|
424
|
+
// 无安全点:整个目标被覆盖层挡住 → 关闭覆盖层重试
|
|
421
425
|
const blocker = rect.top && typeof rect.top === 'object'
|
|
422
426
|
? `${rect.top.tag ?? ''}.${rect.top.cls ?? ''}(${rect.top.text ?? ''})`
|
|
423
427
|
: '未知元素';
|
|
424
428
|
const targetDesc = rect.target && typeof rect.target === 'object'
|
|
425
429
|
? `${rect.target.tag ?? ''}.${rect.target.cls ?? ''}(${rect.target.text ?? ''})`
|
|
426
430
|
: selector;
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
431
|
+
// T019 P0-1:覆盖层关闭(输入联想下拉——ESC/点外部关闭后点击目标,非危险点)
|
|
432
|
+
// doWait=true(下拉)→ 关闭后轮询至多 2s 等覆盖层消失(antd 动画期);
|
|
433
|
+
// doWait=false(对话框/浮动层)→ 关闭后单次检查(瞬时关闭,与 #16-A 原逻辑一致)。
|
|
434
|
+
// 返回 true = 覆盖层已清(hit 或 safe 可用),false = 关闭失败/仍遮挡。
|
|
435
|
+
const closeOverlay = async (doWait) => {
|
|
436
|
+
// 先尝试关闭按钮(对话框场景),无则 ESC(浮动层/下拉场景)
|
|
430
437
|
const closePos = await this.sink.evaluate(`window.__rpaDom.findDialogClose(${sel}, ${targetIdx})`).catch(() => null);
|
|
431
438
|
if (closePos && typeof closePos.x === 'number' && typeof closePos.y === 'number') {
|
|
432
439
|
console.log(`[flow-rpa] 遮挡处理: 点击对话框关闭按钮 (${Math.round(closePos.x)},${Math.round(closePos.y)})`);
|
|
@@ -438,30 +445,82 @@ export class Human {
|
|
|
438
445
|
await sleep(randBetween(200, 400, rng));
|
|
439
446
|
}
|
|
440
447
|
else {
|
|
441
|
-
//
|
|
448
|
+
// ESC + 移开(浮动层/下拉场景)
|
|
442
449
|
await this.sink.send('Input.dispatchKeyEvent', { type: 'keyDown', key: 'Escape', code: 'Escape', windowsVirtualKeyCode: 27 });
|
|
443
450
|
await this.sink.send('Input.dispatchKeyEvent', { type: 'keyUp', key: 'Escape', code: 'Escape', windowsVirtualKeyCode: 27 });
|
|
444
451
|
const [w, h] = await this.getViewport();
|
|
445
452
|
await this.sink.send('Input.dispatchMouseEvent', { type: 'mouseMoved', x: Math.max(2, Math.round(w * 0.98)), y: Math.max(2, Math.round(h * 0.95)), pointerType: 'mouse', buttons: 0 });
|
|
446
453
|
await sleep(randBetween(150, 350, rng));
|
|
454
|
+
// T019 P0-1 补充:输入联想下拉(antd)ESC 后常需动画/重建时间,且点外部区域可关闭——
|
|
455
|
+
// 若 ESC 后仍被盖,点击页面空白处(下拉点外部关闭语义),再等待。
|
|
456
|
+
if (overlayKind === 'dropdown') {
|
|
457
|
+
const nr2 = await fetchRects().catch(() => rects);
|
|
458
|
+
if (targetIdx < nr2.length && !nr2[targetIdx].hit) {
|
|
459
|
+
console.log(`[flow-rpa] 遮挡处理: ESC 后下拉仍在 → 点击页面空白处关闭(T019 P0-1)`);
|
|
460
|
+
await this.sink.send('Input.dispatchMouseEvent', { type: 'mouseMoved', x: Math.max(2, Math.round(w * 0.5)), y: Math.max(2, Math.round(h * 0.1)), pointerType: 'mouse', buttons: 0 });
|
|
461
|
+
await sleep(randBetween(80, 150, rng));
|
|
462
|
+
await this.sink.send('Input.dispatchMouseEvent', { type: 'mousePressed', x: Math.max(2, Math.round(w * 0.5)), y: Math.max(2, Math.round(h * 0.1)), button: 'left', buttons: 1, clickCount: 1 });
|
|
463
|
+
await sleep(randBetween(60, 120, rng));
|
|
464
|
+
await this.sink.send('Input.dispatchMouseEvent', { type: 'mouseReleased', x: Math.max(2, Math.round(w * 0.5)), y: Math.max(2, Math.round(h * 0.1)), button: 'left', buttons: 0, clickCount: 1 });
|
|
465
|
+
await sleep(randBetween(150, 300, rng));
|
|
466
|
+
}
|
|
467
|
+
}
|
|
447
468
|
}
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
469
|
+
// 关闭后等待覆盖层消失(下拉轮询 / 非下拉单次)
|
|
470
|
+
const checkClear = async () => {
|
|
471
|
+
const nr = await fetchRects().catch(() => null);
|
|
472
|
+
if (nr && targetIdx < nr.length) {
|
|
473
|
+
const last = nr[targetIdx];
|
|
474
|
+
if (last.hit)
|
|
475
|
+
return true;
|
|
476
|
+
const s = last.safe;
|
|
477
|
+
if (s && typeof s.x === 'number' && typeof s.y === 'number')
|
|
478
|
+
return true;
|
|
479
|
+
}
|
|
480
|
+
return false;
|
|
481
|
+
};
|
|
482
|
+
if (!doWait)
|
|
483
|
+
return checkClear();
|
|
484
|
+
const waitDeadline = Date.now() + 2000;
|
|
485
|
+
for (;;) {
|
|
486
|
+
if (await checkClear())
|
|
487
|
+
return true;
|
|
488
|
+
if (Date.now() >= waitDeadline)
|
|
489
|
+
return false;
|
|
490
|
+
await sleep(150);
|
|
451
491
|
}
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
492
|
+
};
|
|
493
|
+
let closed = false;
|
|
494
|
+
if (overlayKind === 'dropdown') {
|
|
495
|
+
console.log(`[flow-rpa] 遮挡检测: 目标 ${targetDesc} 被下拉覆盖层 ${blocker} 挡住(T019 P0-1:输入联想下拉,关闭后点击)`);
|
|
496
|
+
closed = await closeOverlay(true);
|
|
497
|
+
}
|
|
498
|
+
else {
|
|
499
|
+
// 非下拉遮挡(对话框/浮动层):原逻辑——关闭按钮或 ESC,重试 ≤3 次
|
|
500
|
+
for (let attempt = 0; attempt < 3 && !closed; attempt++) {
|
|
501
|
+
console.log(`[flow-rpa] 遮挡检测: 目标 ${targetDesc} 被 ${blocker} 完全覆盖(attempt ${attempt + 1}/3,selector=${selector} idx=${targetIdx})`);
|
|
502
|
+
closed = await closeOverlay(false);
|
|
460
503
|
}
|
|
461
|
-
|
|
462
|
-
|
|
504
|
+
}
|
|
505
|
+
// 关闭成功(hit 或 safe 可用)→ 用最新 rect 计算落点(中心或 safe 点)
|
|
506
|
+
if (closed) {
|
|
507
|
+
const nr = await fetchRects().catch(() => rects);
|
|
508
|
+
if (targetIdx < nr.length) {
|
|
509
|
+
const last = nr[targetIdx];
|
|
510
|
+
if (last.hit) {
|
|
511
|
+
at = Human.randomPointIn(last, [2, 2, 2, 2], rng);
|
|
512
|
+
}
|
|
513
|
+
else if (last.safe && typeof last.safe.x === 'number' && typeof last.safe.y === 'number') {
|
|
514
|
+
at = point(last.safe.x, last.safe.y);
|
|
515
|
+
}
|
|
516
|
+
else {
|
|
517
|
+
at = Human.randomPointIn(last, [2, 2, 2, 2], rng);
|
|
518
|
+
}
|
|
463
519
|
}
|
|
464
520
|
}
|
|
521
|
+
else {
|
|
522
|
+
throw HumanError.sink(`点击目标被遮挡: ${targetDesc} ← ${blocker}(已尝试关闭覆盖层)`);
|
|
523
|
+
}
|
|
465
524
|
}
|
|
466
525
|
try {
|
|
467
526
|
await this.implClick(at, {});
|
package/dist/human.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"human.js","sourceRoot":"","sources":["../src/human.ts"],"names":[],"mappings":"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AE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAC7F,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAC7F,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnF,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACpE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACrD,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnF,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,G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"}
|
|
1
|
+
{"version":3,"file":"human.js","sourceRoot":"","sources":["../src/human.ts"],"names":[],"mappings":"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AE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAC7F,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAC7F,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnF,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACpE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACrD,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnF,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,G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"}
|
package/dist/record.js
CHANGED
|
@@ -1,4 +1,14 @@
|
|
|
1
|
-
import { maskKeywords } from './mask.js';
|
|
1
|
+
import { maskKeywords, PLACEHOLDER_KEYWORD } from './mask.js';
|
|
2
|
+
/**
|
|
3
|
+
* T018 P2-2:run.json 落盘掩码的**显示层**渲染——把 Masker 契约占位符 `<keyword>`
|
|
4
|
+
* 显示为 `[已掩码]`,避免被误读为「模板占位符泄漏」(`{keyword}` 形态)。
|
|
5
|
+
* 仅改 run.json 的可读性;Masker 契约本体不动(统计通道/观察包文本仍用 `<keyword>`,
|
|
6
|
+
* MIGRATION-NODE 契约红线 #5),掩码语义(明文不落盘)不变。
|
|
7
|
+
*/
|
|
8
|
+
const MASKED_LABEL = '[已掩码]';
|
|
9
|
+
function maskForRecord(text, keywords) {
|
|
10
|
+
return maskKeywords(text, keywords).split(PLACEHOLDER_KEYWORD).join(MASKED_LABEL);
|
|
11
|
+
}
|
|
2
12
|
/**
|
|
3
13
|
* 从 executor 的结构化结果构建 run.json(run_id/started_at 由调用方提供)。
|
|
4
14
|
* 掩码前移:`keywords` 为本次执行的敏感词集合,落盘时刻对步骤/流程 error 掩码
|
|
@@ -10,7 +20,7 @@ export function fromFlowResult(runId, flowId, flowVersion, r, startedAt, keyword
|
|
|
10
20
|
flowId,
|
|
11
21
|
flowVersion,
|
|
12
22
|
status: r.status,
|
|
13
|
-
error: r.error ?
|
|
23
|
+
error: r.error ? maskForRecord(r.error, keywords) : undefined,
|
|
14
24
|
...(owner ? { owner } : {}),
|
|
15
25
|
startedAt,
|
|
16
26
|
steps: r.steps.map((s) => stepToRecord(s, keywords)),
|
|
@@ -35,7 +45,7 @@ export function fromEvents(runId, flowId, flowVersion, events, meta) {
|
|
|
35
45
|
flowId,
|
|
36
46
|
flowVersion,
|
|
37
47
|
status: meta.status,
|
|
38
|
-
error: meta.error ?
|
|
48
|
+
error: meta.error ? maskForRecord(meta.error, meta.keywords) : undefined,
|
|
39
49
|
...(meta.owner ? { owner: meta.owner } : {}),
|
|
40
50
|
startedAt: meta.startedAt,
|
|
41
51
|
steps,
|
|
@@ -52,7 +62,7 @@ function stepToRecord(s, keywords) {
|
|
|
52
62
|
stepId: s.stepId,
|
|
53
63
|
type: s.kind,
|
|
54
64
|
status: s.status,
|
|
55
|
-
error: s.error ?
|
|
65
|
+
error: s.error ? maskForRecord(s.error, keywords) : undefined,
|
|
56
66
|
verify: s.verify ? verifyToRecord(s.verify, keywords) : undefined,
|
|
57
67
|
durationMs: s.durationMs,
|
|
58
68
|
inputValueMasked: s.inputValueMasked,
|
|
@@ -69,7 +79,7 @@ function verifyToRecord(v, keywords) {
|
|
|
69
79
|
// wait_selector 字段在契约示例中是具体的选择器;这里取 detail(验证点内容)
|
|
70
80
|
// D2 机械化:detail 可能含插值后的明文关键词(textContains 检查项),落盘时刻掩码(防泄漏回归)
|
|
71
81
|
return {
|
|
72
|
-
waitSelector: v.detail ?
|
|
82
|
+
waitSelector: v.detail ? maskForRecord(v.detail, keywords) : undefined,
|
|
73
83
|
passed: v.passed,
|
|
74
84
|
durationMs: v.durationMs,
|
|
75
85
|
};
|
package/dist/record.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.js","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../src/record.ts"],"names":[],"mappings":"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"}
|