@d-zero/puppeteer-page-scan 4.6.0 → 4.6.1

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.
@@ -1,4 +1,4 @@
1
- import { scrollAllOver } from '@d-zero/puppeteer-scroll';
1
+ import { evaluateWithFrameRetry, scrollAllOver } from '@d-zero/puppeteer-scroll';
2
2
  /**
3
3
  * Open all disclosure elements on the page
4
4
  * This function loops until all disclosure elements are expanded,
@@ -102,7 +102,15 @@ export async function beforePageScan(page, url, options) {
102
102
  // for tens of minutes — long enough to exceed any reasonable retry
103
103
  // timeout, leaving the scroll's page.evaluate calls executing in the
104
104
  // background while the next retry attempts to use the same page.
105
- const scrollHeight = await page.evaluate(() => document.body.scrollHeight);
105
+ //
106
+ // WHY retry on detached-Frame: this evaluation runs immediately after
107
+ // `page.reload()` resolves, which is exactly when Chrome may still be
108
+ // finishing an internal main-frame swap. A single read landing in that
109
+ // window throws even though the page itself is doing nothing observable,
110
+ // and the throw escapes `beforePageScan` before `scrollAllOver`'s own
111
+ // retry layer can absorb anything. Reuse the same retry helper as
112
+ // `scrollAllOver` to keep the swap-window absorption consistent.
113
+ const scrollHeight = await evaluateWithFrameRetry(() => page.evaluate(() => document.body.scrollHeight));
106
114
  if (maxScrollHeight !== undefined && scrollHeight > maxScrollHeight) {
107
115
  listener?.('hook', {
108
116
  name,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@d-zero/puppeteer-page-scan",
3
- "version": "4.6.0",
3
+ "version": "4.6.1",
4
4
  "description": "Scanning page function for puppeteer",
5
5
  "author": "D-ZERO",
6
6
  "license": "MIT",
@@ -24,7 +24,7 @@
24
24
  },
25
25
  "dependencies": {
26
26
  "@d-zero/puppeteer-general-actions": "1.2.5",
27
- "@d-zero/puppeteer-scroll": "4.0.3",
27
+ "@d-zero/puppeteer-scroll": "4.0.4",
28
28
  "@d-zero/shared": "0.22.0"
29
29
  },
30
30
  "devDependencies": {
@@ -38,5 +38,5 @@
38
38
  "url": "https://github.com/d-zero-dev/tools.git",
39
39
  "directory": "packages/@d-zero/puppeteer-page-scan"
40
40
  },
41
- "gitHead": "d876ace142711051c337f7922931776526047cb0"
41
+ "gitHead": "9a26e6d8c1e996684691055ffc070547344b21e9"
42
42
  }