@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.
- package/dist/before-page-scan.js +10 -2
- package/package.json +3 -3
package/dist/before-page-scan.js
CHANGED
|
@@ -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
|
-
|
|
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.
|
|
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.
|
|
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": "
|
|
41
|
+
"gitHead": "9a26e6d8c1e996684691055ffc070547344b21e9"
|
|
42
42
|
}
|