cloakbrowser 0.3.25 → 0.3.27

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.
@@ -22,17 +22,20 @@ async function smoothWheel(raw, delta, cfg) {
22
22
  await sleep(rand(8, 20));
23
23
  }
24
24
  }
25
- export async function scrollToElement(page, raw, selector, cursorX, cursorY, cfg) {
25
+ /**
26
+ * Humanized scrolling that takes an arbitrary ``getBox`` callable.
27
+ *
28
+ * Used by both ``scrollToElement`` (selector-based) and the ElementHandle
29
+ * ``scrollIntoViewIfNeeded`` patch so the same accelerate → cruise →
30
+ * decelerate → overshoot behavior runs everywhere.
31
+ */
32
+ export async function humanScrollIntoView(page, raw, getBox, cursorX, cursorY, cfg) {
26
33
  const viewport = page.viewportSize();
27
34
  if (!viewport)
28
35
  throw new Error('Viewport size not available');
29
- let box = await getElementBox(page, selector);
30
- if (!box) {
31
- await sleep(200);
32
- box = await getElementBox(page, selector);
33
- if (!box)
34
- throw new Error(`Element not found: ${selector}`);
35
- }
36
+ let box = await getBox();
37
+ if (!box)
38
+ throw new Error('Element not found while scrolling into view');
36
39
  if (isInViewport(box, viewport.height, cfg)) {
37
40
  return { box, cursorX, cursorY };
38
41
  }
@@ -77,7 +80,7 @@ export async function scrollToElement(page, raw, selector, cursorX, cursorY, cfg
77
80
  await sleep(pause);
78
81
  // Check visibility every 3 steps
79
82
  if (i % 3 === 2 || i === totalClicks - 1) {
80
- box = await getElementBox(page, selector);
83
+ box = await getBox();
81
84
  if (box && isInViewport(box, viewport.height, cfg)) {
82
85
  break;
83
86
  }
@@ -99,15 +102,25 @@ export async function scrollToElement(page, raw, selector, cursorX, cursorY, cfg
99
102
  }
100
103
  // Settle
101
104
  await sleep(randRange(cfg.scroll_settle_delay));
102
- box = await getElementBox(page, selector);
105
+ box = await getBox();
103
106
  if (!box)
104
- throw new Error(`Element lost after scrolling: ${selector}`);
107
+ throw new Error('Element lost after scrolling into view');
105
108
  return { box, cursorX, cursorY };
106
109
  }
107
- async function getElementBox(page, selector) {
110
+ /**
111
+ * Selector-based humanized scroll.
112
+ *
113
+ * ``timeout`` is forwarded to Playwright's ``boundingBox({ timeout })`` so
114
+ * callers like ``page.click('#x', { timeout: 5000 })`` can wait longer for
115
+ * slow-loading elements (#172). Default matches Playwright's 30000ms when not specified.
116
+ */
117
+ export async function scrollToElement(page, raw, selector, cursorX, cursorY, cfg, timeout) {
118
+ return humanScrollIntoView(page, raw, () => getElementBox(page, selector, timeout), cursorX, cursorY, cfg);
119
+ }
120
+ async function getElementBox(page, selector, timeout = 30000) {
108
121
  const el = page.locator(selector).first();
109
122
  try {
110
- const box = await el.boundingBox({ timeout: 2000 });
123
+ const box = await el.boundingBox({ timeout });
111
124
  return box;
112
125
  }
113
126
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../src/human/scroll.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../src/human/scroll.ts"],"names":[],"mappings":"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"}
@@ -48,10 +48,10 @@
48
48
  import type { Browser, Page } from 'puppeteer-core';
49
49
  import type { HumanConfig } from '../human/config.js';
50
50
  export type { HumanConfig } from '../human/config.js';
51
- export { resolveConfig } from '../human/config.js';
51
+ export { resolveConfig, mergeConfig } from '../human/config.js';
52
52
  export { humanMove, humanClick, clickTarget, humanIdle } from '../human/mouse.js';
53
53
  export { humanType } from './keyboard.js';
54
- export { scrollToElement } from './scroll.js';
54
+ export { scrollToElement, humanScrollIntoView } from './scroll.js';
55
55
  declare class CursorState {
56
56
  x: number;
57
57
  y: number;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/human-puppeteer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAoD,MAAM,gBAAgB,CAAC;AACtG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMtD,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAsF9C,cAAM,WAAW;IACf,CAAC,SAAK;IACN,CAAC,SAAK;IACN,WAAW,UAAS;CACrB;AA0GD,iBAAS,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAqQ1E;AAwVD,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAkDrE;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/human-puppeteer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAoD,MAAM,gBAAgB,CAAC;AACtG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMtD,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAsFnE,cAAM,WAAW;IACf,CAAC,SAAK;IACN,CAAC,SAAK;IACN,WAAW,UAAS;CACrB;AA0GD,iBAAS,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAwQ1E;AAmYD,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAkDrE;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -45,14 +45,14 @@
45
45
  * - ElementHandle prototype patching (Puppeteer-only)
46
46
  * - No page.dblclick() — Puppeteer uses click({clickCount:2})
47
47
  */
48
- import { rand, randRange, sleep } from '../human/config.js';
48
+ import { mergeConfig, rand, randRange, sleep } from '../human/config.js';
49
49
  import { humanMove, humanClick, clickTarget, humanIdle } from '../human/mouse.js';
50
50
  import { humanType } from './keyboard.js';
51
- import { scrollToElement, smoothWheel } from './scroll.js';
52
- export { resolveConfig } from '../human/config.js';
51
+ import { scrollToElement, humanScrollIntoView, smoothWheel } from './scroll.js';
52
+ export { resolveConfig, mergeConfig } from '../human/config.js';
53
53
  export { humanMove, humanClick, clickTarget, humanIdle } from '../human/mouse.js';
54
54
  export { humanType } from './keyboard.js';
55
- export { scrollToElement } from './scroll.js';
55
+ export { scrollToElement, humanScrollIntoView } from './scroll.js';
56
56
  // ============================================================================
57
57
  // CDP Isolated World — stealth DOM evaluation (Puppeteer version)
58
58
  // ============================================================================
@@ -287,50 +287,53 @@ function patchPage(page, cfg, cursor) {
287
287
  // ==== click (with clickCount support for dblclick) ====
288
288
  const humanClickFn = async (selector, options) => {
289
289
  await ensureCursorInit();
290
- if (cfg.idle_between_actions) {
291
- await humanIdle(raw, rand(cfg.idle_between_duration[0], cfg.idle_between_duration[1]), cursor.x, cursor.y, cfg);
290
+ const callCfg = mergeConfig(cfg, options?.human_config);
291
+ if (callCfg.idle_between_actions) {
292
+ await humanIdle(raw, rand(callCfg.idle_between_duration[0], callCfg.idle_between_duration[1]), cursor.x, cursor.y, callCfg);
292
293
  }
293
- const { box, cursorX, cursorY } = await scrollToElement(page, raw, selector, cursor.x, cursor.y, cfg);
294
+ const { box, cursorX, cursorY } = await scrollToElement(page, raw, selector, cursor.x, cursor.y, callCfg, options?.timeout);
294
295
  cursor.x = cursorX;
295
296
  cursor.y = cursorY;
296
297
  const isInput = await isInputElement(stealth, page, selector);
297
- const target = clickTarget(box, isInput, cfg);
298
- await humanMove(raw, cursor.x, cursor.y, target.x, target.y, cfg);
298
+ const target = clickTarget(box, isInput, callCfg);
299
+ await humanMove(raw, cursor.x, cursor.y, target.x, target.y, callCfg);
299
300
  cursor.x = target.x;
300
301
  cursor.y = target.y;
301
302
  const clickCount = options?.clickCount ?? options?.count ?? 1;
302
303
  if (clickCount >= 2) {
303
- await humanClick(raw, isInput, cfg);
304
+ await humanClick(raw, isInput, callCfg);
304
305
  await sleep(rand(40, 90));
305
306
  await raw.down({ clickCount: 2 });
306
307
  await sleep(rand(30, 60));
307
308
  await raw.up({ clickCount: 2 });
308
309
  }
309
310
  else {
310
- await humanClick(raw, isInput, cfg);
311
+ await humanClick(raw, isInput, callCfg);
311
312
  }
312
313
  };
313
314
  // ==== hover ====
314
315
  const humanHoverFn = async (selector, options) => {
315
316
  await ensureCursorInit();
316
- if (cfg.idle_between_actions) {
317
- await humanIdle(raw, rand(cfg.idle_between_duration[0], cfg.idle_between_duration[1]), cursor.x, cursor.y, cfg);
317
+ const callCfg = mergeConfig(cfg, options?.human_config);
318
+ if (callCfg.idle_between_actions) {
319
+ await humanIdle(raw, rand(callCfg.idle_between_duration[0], callCfg.idle_between_duration[1]), cursor.x, cursor.y, callCfg);
318
320
  }
319
- const { box, cursorX, cursorY } = await scrollToElement(page, raw, selector, cursor.x, cursor.y, cfg);
321
+ const { box, cursorX, cursorY } = await scrollToElement(page, raw, selector, cursor.x, cursor.y, callCfg, options?.timeout);
320
322
  cursor.x = cursorX;
321
323
  cursor.y = cursorY;
322
- const target = clickTarget(box, false, cfg);
323
- await humanMove(raw, cursor.x, cursor.y, target.x, target.y, cfg);
324
+ const target = clickTarget(box, false, callCfg);
325
+ await humanMove(raw, cursor.x, cursor.y, target.x, target.y, callCfg);
324
326
  cursor.x = target.x;
325
327
  cursor.y = target.y;
326
328
  };
327
329
  // ==== type ====
328
330
  const humanTypeFn = async (selector, text, options) => {
329
- await sleep(randRange(cfg.field_switch_delay));
330
- await humanClickFn(selector);
331
+ const callCfg = mergeConfig(cfg, options?.human_config);
332
+ await sleep(randRange(callCfg.field_switch_delay));
333
+ await humanClickFn(selector, options);
331
334
  await sleep(rand(100, 250));
332
335
  const cdp = await ensureCdp();
333
- await humanType(page, rawKb, text, cfg, cdp);
336
+ await humanType(page, rawKb, text, callCfg, cdp);
334
337
  };
335
338
  // ==== select ====
336
339
  const humanSelectFn = async (selector, ...values) => {
@@ -491,6 +494,9 @@ function patchSingleElementHandle(el, page, cfg, cursor, raw, rawKb, originals,
491
494
  const origElDragAndDrop = el.dragAndDrop?.bind(el);
492
495
  const origElSelect = el.select?.bind(el);
493
496
  const origElDrop = el.drop?.bind(el);
497
+ // Puppeteer v22+ adds ElementHandle.scrollIntoView(); earlier versions
498
+ // expose it implicitly via evaluate(node => node.scrollIntoView()).
499
+ const origElScrollIntoView = el.scrollIntoView?.bind(el);
494
500
  // --- Nested selectors ---
495
501
  const origEl$ = el.$.bind(el);
496
502
  const origEl$$ = el.$$.bind(el);
@@ -514,37 +520,47 @@ function patchSingleElementHandle(el, page, cfg, cursor, raw, rawKb, originals,
514
520
  patchSingleElementHandle(child, page, cfg, cursor, raw, rawKb, originals, stealth);
515
521
  return child;
516
522
  };
517
- // --- Helper: get box and move cursor ---
518
- const moveToElement = async () => {
523
+ // --- Helper: get box and move cursor. Accepts a per-call ``callCfg``
524
+ // so type/fill overrides like ``el.type(text, { human_config: {...} })``
525
+ // carry through to mouse timing for that single call. Also scrolls into
526
+ // view first so off-screen elements work (#129, #172 follow-up).
527
+ const moveToElement = async (callCfg = cfg) => {
519
528
  await page._ensureCursorInit();
529
+ try {
530
+ const { cursorX, cursorY } = await humanScrollIntoView(page, raw, () => el.boundingBox().then(b => b ?? null), cursor.x, cursor.y, callCfg);
531
+ cursor.x = cursorX;
532
+ cursor.y = cursorY;
533
+ }
534
+ catch { /* let boundingBox() decide */ }
520
535
  const box = await el.boundingBox();
521
536
  if (!box)
522
537
  return null;
523
538
  const isInp = await isInputElementHandle(stealth, el);
524
- const target = clickTarget(box, isInp, cfg);
525
- if (cfg.idle_between_actions) {
526
- await humanIdle(raw, rand(cfg.idle_between_duration[0], cfg.idle_between_duration[1]), cursor.x, cursor.y, cfg);
539
+ const target = clickTarget(box, isInp, callCfg);
540
+ if (callCfg.idle_between_actions) {
541
+ await humanIdle(raw, rand(callCfg.idle_between_duration[0], callCfg.idle_between_duration[1]), cursor.x, cursor.y, callCfg);
527
542
  }
528
- await humanMove(raw, cursor.x, cursor.y, target.x, target.y, cfg);
543
+ await humanMove(raw, cursor.x, cursor.y, target.x, target.y, callCfg);
529
544
  cursor.x = target.x;
530
545
  cursor.y = target.y;
531
546
  return { box, isInp };
532
547
  };
533
548
  // --- el.click() ---
534
549
  el.click = async (options) => {
535
- const info = await moveToElement();
550
+ const callCfg = mergeConfig(cfg, options?.human_config);
551
+ const info = await moveToElement(callCfg);
536
552
  if (!info)
537
553
  return origElClick(options);
538
554
  const clickCount = options?.clickCount ?? options?.count ?? 1;
539
555
  if (clickCount >= 2) {
540
- await humanClick(raw, info.isInp, cfg);
556
+ await humanClick(raw, info.isInp, callCfg);
541
557
  await sleep(rand(40, 90));
542
558
  await raw.down({ clickCount: 2 });
543
559
  await sleep(rand(30, 60));
544
560
  await raw.up({ clickCount: 2 });
545
561
  }
546
562
  else {
547
- await humanClick(raw, info.isInp, cfg);
563
+ await humanClick(raw, info.isInp, callCfg);
548
564
  }
549
565
  };
550
566
  // --- el.hover() ---
@@ -555,14 +571,35 @@ function patchSingleElementHandle(el, page, cfg, cursor, raw, rawKb, originals,
555
571
  };
556
572
  // --- el.type() ---
557
573
  el.type = async (text, options) => {
558
- const info = await moveToElement();
574
+ const callCfg = mergeConfig(cfg, options?.human_config);
575
+ const info = await moveToElement(callCfg);
559
576
  if (!info)
560
577
  return origElType(text, options);
561
- await humanClick(raw, info.isInp, cfg);
578
+ await humanClick(raw, info.isInp, callCfg);
562
579
  await sleep(rand(100, 250));
563
580
  const cdp = await stealth.getCdpSession().catch(() => null);
564
- await humanType(page, rawKb, text, cfg, cdp);
565
- };
581
+ await humanType(page, rawKb, text, callCfg, cdp);
582
+ };
583
+ // --- el.scrollIntoView() ---
584
+ // Puppeteer-only equivalent of Playwright's scrollIntoViewIfNeeded.
585
+ // Replaces the native snap-scroll (a strong bot signal) with the same
586
+ // accelerate → cruise → decelerate → overshoot wheel sequence used by
587
+ // page.click(). Only patched when the underlying ElementHandle exposes
588
+ // ``scrollIntoView`` (Puppeteer v22+).
589
+ if (origElScrollIntoView) {
590
+ el.scrollIntoView = async (options) => {
591
+ const callCfg = mergeConfig(cfg, options?.human_config);
592
+ await page._ensureCursorInit();
593
+ try {
594
+ const { cursorX, cursorY } = await humanScrollIntoView(page, raw, () => el.boundingBox().then(b => b ?? null), cursor.x, cursor.y, callCfg);
595
+ cursor.x = cursorX;
596
+ cursor.y = cursorY;
597
+ }
598
+ catch {
599
+ return origElScrollIntoView(options);
600
+ }
601
+ };
602
+ }
566
603
  // --- el.press() ---
567
604
  if (origElPress) {
568
605
  el.press = async (key, options) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/human-puppeteer/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/human-puppeteer/index.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * Changes from Playwright version:
6
6
  * - page.viewport() instead of page.viewportSize()
7
7
  * - page.$(selector) + el.boundingBox() instead of page.locator().boundingBox()
8
- * - No timeout parameter on boundingBox()
8
+ * - boundingBox() has no timeout param we poll page.$() up to ``timeout`` ms
9
9
  */
10
10
  import type { Page } from 'puppeteer-core';
11
11
  import type { HumanConfig } from '../human/config.js';
@@ -17,7 +17,24 @@ interface ElementBounds {
17
17
  height: number;
18
18
  }
19
19
  export declare function smoothWheel(raw: RawMouse, delta: number, cfg: HumanConfig, axis?: 'x' | 'y'): Promise<void>;
20
- export declare function scrollToElement(page: Page, raw: RawMouse, selector: string, cursorX: number, cursorY: number, cfg: HumanConfig): Promise<{
20
+ /**
21
+ * Humanized scrolling that takes an arbitrary ``getBox`` callable.
22
+ * Used by both ``scrollToElement`` (selector-based) and the ElementHandle
23
+ * ``scrollIntoView`` patch.
24
+ */
25
+ export declare function humanScrollIntoView(page: Page, raw: RawMouse, getBox: () => Promise<ElementBounds | null>, cursorX: number, cursorY: number, cfg: HumanConfig): Promise<{
26
+ box: ElementBounds;
27
+ cursorX: number;
28
+ cursorY: number;
29
+ }>;
30
+ /**
31
+ * Selector-based humanized scroll (Puppeteer).
32
+ *
33
+ * ``timeout`` controls how long we poll ``page.$(selector)`` before giving up,
34
+ * so callers like ``page.click('#x', { timeout: 5000 })`` can wait longer for
35
+ * slow-loading elements (#172). Default matches Playwright's 30000ms when not specified.
36
+ */
37
+ export declare function scrollToElement(page: Page, raw: RawMouse, selector: string, cursorX: number, cursorY: number, cfg: HumanConfig, timeout?: number): Promise<{
21
38
  box: ElementBounds;
22
39
  cursorX: number;
23
40
  cursorY: number;
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../src/human-puppeteer/scroll.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAa,MAAM,mBAAmB,CAAC;AAExD,UAAU,aAAa;IACrB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAcD,wBAAsB,WAAW,CAC/B,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,WAAW,EAChB,IAAI,GAAE,GAAG,GAAG,GAAS,GACpB,OAAO,CAAC,IAAI,CAAC,CAgBf;AAcD,wBAAsB,eAAe,CACnC,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,QAAQ,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,WAAW,GACf,OAAO,CAAC;IAAE,GAAG,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAyFnE"}
1
+ {"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../src/human-puppeteer/scroll.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAa,MAAM,mBAAmB,CAAC;AAExD,UAAU,aAAa;IACrB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAcD,wBAAsB,WAAW,CAC/B,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,WAAW,EAChB,IAAI,GAAE,GAAG,GAAG,GAAS,GACpB,OAAO,CAAC,IAAI,CAAC,CAgBf;AA2BD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,MAAM,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,EAC3C,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,WAAW,GACf,OAAO,CAAC;IAAE,GAAG,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAqFnE;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,QAAQ,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,WAAW,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,GAAG,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAMnE"}
@@ -5,7 +5,7 @@
5
5
  * Changes from Playwright version:
6
6
  * - page.viewport() instead of page.viewportSize()
7
7
  * - page.$(selector) + el.boundingBox() instead of page.locator().boundingBox()
8
- * - No timeout parameter on boundingBox()
8
+ * - boundingBox() has no timeout param we poll page.$() up to ``timeout`` ms
9
9
  */
10
10
  import { rand, randRange, randIntRange, sleep } from '../human/config.js';
11
11
  import { humanMove } from '../human/mouse.js';
@@ -34,31 +34,40 @@ export async function smoothWheel(raw, delta, cfg, axis = 'y') {
34
34
  await sleep(rand(8, 20));
35
35
  }
36
36
  }
37
- async function getElementBox(page, selector) {
38
- try {
39
- const el = await page.$(selector);
40
- if (!el)
41
- return null;
42
- const box = await el.boundingBox();
43
- if (!box)
37
+ /**
38
+ * Poll ``page.$(selector)`` for up to ``timeout`` ms, returning the element's
39
+ * bounding box when found. ``timeout`` defaults to 30000ms when not specified.
40
+ */
41
+ async function getElementBox(page, selector, timeout = 30000) {
42
+ const start = Date.now();
43
+ const pollInterval = 100;
44
+ while (true) {
45
+ try {
46
+ const el = await page.$(selector);
47
+ if (el) {
48
+ const box = await el.boundingBox();
49
+ if (box)
50
+ return { x: box.x, y: box.y, width: box.width, height: box.height };
51
+ }
52
+ }
53
+ catch { /* keep polling */ }
54
+ if (Date.now() - start >= timeout)
44
55
  return null;
45
- return { x: box.x, y: box.y, width: box.width, height: box.height };
46
- }
47
- catch {
48
- return null;
56
+ await sleep(pollInterval);
49
57
  }
50
58
  }
51
- export async function scrollToElement(page, raw, selector, cursorX, cursorY, cfg) {
59
+ /**
60
+ * Humanized scrolling that takes an arbitrary ``getBox`` callable.
61
+ * Used by both ``scrollToElement`` (selector-based) and the ElementHandle
62
+ * ``scrollIntoView`` patch.
63
+ */
64
+ export async function humanScrollIntoView(page, raw, getBox, cursorX, cursorY, cfg) {
52
65
  const viewport = page.viewport();
53
66
  if (!viewport)
54
67
  throw new Error('Viewport size not available');
55
- let box = await getElementBox(page, selector);
56
- if (!box) {
57
- await sleep(200);
58
- box = await getElementBox(page, selector);
59
- if (!box)
60
- throw new Error(`Element not found: ${selector}`);
61
- }
68
+ let box = await getBox();
69
+ if (!box)
70
+ throw new Error('Element not found while scrolling into view');
62
71
  if (isInViewport(box, viewport.height, cfg)) {
63
72
  return { box, cursorX, cursorY };
64
73
  }
@@ -101,7 +110,7 @@ export async function scrollToElement(page, raw, selector, cursorX, cursorY, cfg
101
110
  scrolled += Math.abs(delta);
102
111
  await sleep(pause);
103
112
  if (i % 3 === 2 || i === totalClicks - 1) {
104
- box = await getElementBox(page, selector);
113
+ box = await getBox();
105
114
  if (box && isInViewport(box, viewport.height, cfg)) {
106
115
  break;
107
116
  }
@@ -122,9 +131,19 @@ export async function scrollToElement(page, raw, selector, cursorX, cursorY, cfg
122
131
  }
123
132
  }
124
133
  await sleep(randRange(cfg.scroll_settle_delay));
125
- box = await getElementBox(page, selector);
134
+ box = await getBox();
126
135
  if (!box)
127
- throw new Error(`Element lost after scrolling: ${selector}`);
136
+ throw new Error('Element lost after scrolling into view');
128
137
  return { box, cursorX, cursorY };
129
138
  }
139
+ /**
140
+ * Selector-based humanized scroll (Puppeteer).
141
+ *
142
+ * ``timeout`` controls how long we poll ``page.$(selector)`` before giving up,
143
+ * so callers like ``page.click('#x', { timeout: 5000 })`` can wait longer for
144
+ * slow-loading elements (#172). Default matches Playwright's 30000ms when not specified.
145
+ */
146
+ export async function scrollToElement(page, raw, selector, cursorX, cursorY, cfg, timeout) {
147
+ return humanScrollIntoView(page, raw, () => getElementBox(page, selector, timeout), cursorX, cursorY, cfg);
148
+ }
130
149
  //# sourceMappingURL=scroll.js.map