Skip to content

Commit 5203313

Browse files
committed
Accept waitForNavigation options
1 parent 863f2e0 commit 5203313

File tree

1 file changed

+16
-7
lines changed

1 file changed

+16
-7
lines changed

src/renderers/chrome/index.js

+16-7
Original file line numberDiff line numberDiff line change
@@ -114,14 +114,29 @@ export class ChromeRenderer extends Renderer {
114114
}
115115

116116
async renderPage(page, options = {}) {
117-
let { path: filepath, type } = options;
117+
let { path: filepath, type, waitForNavigation } = options;
118118
let buffer;
119119

120120
if (!isString(type)) {
121121
type = isString(filepath) ? path.extname(filepath).slice(1) : 'html';
122122
type = type.length > 0 ? type : 'html';
123123
}
124124

125+
if (waitForNavigation !== null && waitForNavigation !== undefined) {
126+
if (waitForNavigation === false) {
127+
return;
128+
} else if (waitForNavigation === Object(waitForNavigation)) {
129+
await page._chromePage.waitForNavigation(waitForNavigation);
130+
} else {
131+
await page._chromePage.waitForNavigation({
132+
waitUntil: 'networkidle',
133+
networkIdleInflight: 0,
134+
timeout: 0
135+
});
136+
}
137+
delete options.waitForNavigation;
138+
}
139+
125140
switch (type) {
126141
case 'html':
127142
buffer = await page._chromePage.content();
@@ -134,12 +149,6 @@ export class ChromeRenderer extends Renderer {
134149
delete options.emulateMedia;
135150
}
136151

137-
await page._chromePage.waitForNavigation({
138-
waitUntil: 'networkidle',
139-
networkIdleInflight: 0,
140-
timeout: 0
141-
});
142-
143152
buffer = await page._chromePage.pdf(options);
144153
break;
145154
default:

0 commit comments

Comments
 (0)