@crawlee/browser 4.0.0-beta.6 → 4.0.0-beta.60

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,8 +1,8 @@
1
- import { BASIC_CRAWLER_TIMEOUT_BUFFER_SECS, BasicCrawler, BLOCKED_STATUS_CODES as DEFAULT_BLOCKED_STATUS_CODES, Configuration, cookieStringToToughCookie, enqueueLinks, EVENT_SESSION_RETIRED, handleRequestTimeout, RequestState, resolveBaseUrlForEnqueueLinksFiltering, SessionError, tryAbsoluteURL, validators, } from '@crawlee/basic';
1
+ import { BasicCrawler, browserPoolCookieToToughCookie, ContextPipeline, cookieStringToToughCookie, enqueueLinks, handleRequestTimeout, NavigationSkippedError, RequestState, resolveBaseUrlForEnqueueLinksFiltering, SessionError, toughCookieToBrowserPoolCookie, tryAbsoluteURL, validators, } from '@crawlee/basic';
2
2
  import { BrowserPool } from '@crawlee/browser-pool';
3
3
  import { CLOUDFLARE_RETRY_CSS_SELECTORS, RETRY_CSS_SELECTORS, sleep } from '@crawlee/utils';
4
4
  import ow from 'ow';
5
- import { addTimeoutToPromise, tryCancel } from '@apify/timeout';
5
+ import { tryCancel } from '@apify/timeout';
6
6
  /**
7
7
  * Provides a simple framework for parallel crawling of web pages
8
8
  * using headless browsers with [Puppeteer](https://github.com/puppeteer/puppeteer)
@@ -43,23 +43,17 @@ import { addTimeoutToPromise, tryCancel } from '@apify/timeout';
43
43
  * @category Crawlers
44
44
  */
45
45
  export class BrowserCrawler extends BasicCrawler {
46
- config;
47
- /**
48
- * A reference to the underlying {@link ProxyConfiguration} class that manages the crawler's proxies.
49
- * Only available if used by the crawler.
50
- */
51
- proxyConfiguration;
52
46
  /**
53
47
  * A reference to the underlying {@link BrowserPool} class that manages the crawler's browsers.
54
48
  */
55
49
  browserPool;
56
50
  launchContext;
57
- userProvidedRequestHandler;
51
+ ignoreShadowRoots;
52
+ ignoreIframes;
58
53
  navigationTimeoutMillis;
59
- requestHandlerTimeoutInnerMillis;
60
54
  preNavigationHooks;
61
55
  postNavigationHooks;
62
- persistCookiesPerSession;
56
+ saveResponseCookies;
63
57
  static optionsShape = {
64
58
  ...BasicCrawler.optionsShape,
65
59
  navigationTimeoutSecs: ow.optional.number.greaterThan(0),
@@ -68,64 +62,60 @@ export class BrowserCrawler extends BasicCrawler {
68
62
  launchContext: ow.optional.object,
69
63
  headless: ow.optional.any(ow.boolean, ow.string),
70
64
  browserPoolOptions: ow.object,
71
- sessionPoolOptions: ow.optional.object,
72
- persistCookiesPerSession: ow.optional.boolean,
73
- useSessionPool: ow.optional.boolean,
65
+ saveResponseCookies: ow.optional.boolean,
74
66
  proxyConfiguration: ow.optional.object.validate(validators.proxyConfiguration),
75
- ignoreShadowRoots: ow.optional.boolean,
76
- ignoreIframes: ow.optional.boolean,
77
67
  };
78
68
  /**
79
69
  * All `BrowserCrawler` parameters are passed via an options object.
80
70
  */
81
- constructor(options = {}, config = Configuration.getGlobalConfig()) {
71
+ constructor(options) {
82
72
  ow(options, 'BrowserCrawlerOptions', ow.object.exactShape(BrowserCrawler.optionsShape));
83
- const { navigationTimeoutSecs = 60, requestHandlerTimeoutSecs = 60, persistCookiesPerSession, proxyConfiguration, launchContext = {}, browserPoolOptions, preNavigationHooks = [], postNavigationHooks = [], requestHandler, headless, ignoreShadowRoots, ignoreIframes, ...basicCrawlerOptions } = options;
73
+ const { navigationTimeoutSecs = 60, saveResponseCookies = true, launchContext = {}, browserPoolOptions, preNavigationHooks = [], postNavigationHooks = [], headless, ignoreIframes = false, ignoreShadowRoots = false, contextPipelineBuilder, extendContext, ...basicCrawlerOptions } = options;
84
74
  super({
85
75
  ...basicCrawlerOptions,
86
- requestHandler: async (...args) => this._runRequestHandler(...args),
87
- requestHandlerTimeoutSecs: navigationTimeoutSecs + requestHandlerTimeoutSecs + BASIC_CRAWLER_TIMEOUT_BUFFER_SECS,
88
- }, config);
89
- this.config = config;
90
- this.userProvidedRequestHandler = requestHandler ?? this.router;
91
- // Cookies should be persisted per session only if session pool is used
92
- if (!this.useSessionPool && persistCookiesPerSession) {
93
- throw new Error('You cannot use "persistCookiesPerSession" without "useSessionPool" set to true.');
94
- }
76
+ contextPipelineBuilder: () => contextPipelineBuilder()
77
+ .compose({ action: this.performNavigation.bind(this) })
78
+ .compose({ action: this.handleBlockedRequestByContent.bind(this) })
79
+ .compose({ action: this.restoreRequestState.bind(this) }),
80
+ extendContext: extendContext,
81
+ });
95
82
  this.launchContext = launchContext;
96
83
  this.navigationTimeoutMillis = navigationTimeoutSecs * 1000;
97
- this.requestHandlerTimeoutInnerMillis = requestHandlerTimeoutSecs * 1000;
98
- this.proxyConfiguration = proxyConfiguration;
99
84
  this.preNavigationHooks = preNavigationHooks;
100
85
  this.postNavigationHooks = postNavigationHooks;
86
+ this.ignoreIframes = ignoreIframes;
87
+ this.ignoreShadowRoots = ignoreShadowRoots;
101
88
  if (headless != null) {
102
89
  this.launchContext.launchOptions ??= {};
103
90
  this.launchContext.launchOptions.headless = headless;
104
91
  }
105
- if (this.useSessionPool) {
106
- this.persistCookiesPerSession = persistCookiesPerSession !== undefined ? persistCookiesPerSession : true;
107
- }
108
- else {
109
- this.persistCookiesPerSession = false;
110
- }
92
+ this.saveResponseCookies = saveResponseCookies;
111
93
  if (launchContext?.userAgent) {
112
94
  if (browserPoolOptions.useFingerprints)
113
95
  this.log.info('Custom user agent provided, disabling automatic browser fingerprint injection!');
114
96
  browserPoolOptions.useFingerprints = false;
115
97
  }
116
- const { preLaunchHooks = [], postLaunchHooks = [], ...rest } = browserPoolOptions;
117
98
  this.browserPool = new BrowserPool({
118
- ...rest,
119
- preLaunchHooks: [this._extendLaunchContext.bind(this), ...preLaunchHooks],
120
- postLaunchHooks: [this._maybeAddSessionRetiredListener.bind(this), ...postLaunchHooks],
99
+ ...browserPoolOptions,
121
100
  });
122
101
  }
123
- async _cleanupContext(crawlingContext) {
124
- const { page } = crawlingContext;
125
- // Page creation may be aborted
126
- if (page) {
127
- await page.close().catch((error) => this.log.debug('Error while closing page', { error }));
128
- }
102
+ buildContextPipeline() {
103
+ return ContextPipeline.create().compose({
104
+ action: this.preparePage.bind(this),
105
+ cleanup: async (context) => {
106
+ context.registerDeferredCleanup(async () => {
107
+ // In non-incognito mode the browser controller carries the session's cookies
108
+ // and storage across pages. If the session is no longer usable, retire the
109
+ // controller so its state can't leak into whichever session lands on it next.
110
+ if (!context.session.isUsable()) {
111
+ this.browserPool.retireBrowserController(context.browserController);
112
+ }
113
+ await context.page
114
+ .close()
115
+ .catch((error) => this.log.debug('Error while closing page', { error }));
116
+ });
117
+ },
118
+ });
129
119
  }
130
120
  async containsSelectors(page, selectors) {
131
121
  const foundSelectors = (await Promise.all(selectors.map((selector) => page.$(selector))))
@@ -136,12 +126,6 @@ export class BrowserCrawler extends BasicCrawler {
136
126
  }
137
127
  async isRequestBlocked(crawlingContext) {
138
128
  const { page, response } = crawlingContext;
139
- const blockedStatusCodes =
140
- // eslint-disable-next-line dot-notation
141
- (this.sessionPool?.['blockedStatusCodes'].length ?? 0) > 0
142
- ? // eslint-disable-next-line dot-notation
143
- this.sessionPool['blockedStatusCodes']
144
- : DEFAULT_BLOCKED_STATUS_CODES;
145
129
  // Cloudflare specific heuristic - wait 5 seconds if we get a 403 for the JS challenge to load / resolve.
146
130
  if ((await this.containsSelectors(page, CLOUDFLARE_RETRY_CSS_SELECTORS)) && response?.status() === 403) {
147
131
  await sleep(5000);
@@ -152,112 +136,62 @@ export class BrowserCrawler extends BasicCrawler {
152
136
  return `Cloudflare challenge failed, found selectors: ${foundSelectors.join(', ')}`;
153
137
  }
154
138
  const foundSelectors = await this.containsSelectors(page, RETRY_CSS_SELECTORS);
155
- const blockedStatusCode = blockedStatusCodes.find((x) => x === (response?.status() ?? 0));
139
+ const statusCode = response?.status() ?? 0;
156
140
  if (foundSelectors)
157
141
  return `Found selectors: ${foundSelectors.join(', ')}`;
158
- if (blockedStatusCode)
159
- return `Received blocked status code: ${blockedStatusCode}`;
142
+ if (this.blockedStatusCodes.has(statusCode))
143
+ return `Received blocked status code: ${statusCode}`;
160
144
  return false;
161
145
  }
162
- /**
163
- * Wrapper around requestHandler that opens and closes pages etc.
164
- */
165
- async _runRequestHandler(crawlingContext) {
146
+ async preparePage(crawlingContext) {
166
147
  const newPageOptions = {
167
148
  id: crawlingContext.id,
168
149
  };
169
- const useIncognitoPages = this.launchContext?.useIncognitoPages;
170
- if (this.proxyConfiguration) {
171
- const { session } = crawlingContext;
172
- const proxyInfo = await this.proxyConfiguration.newProxyInfo(session?.id, {
173
- request: crawlingContext.request,
174
- });
175
- crawlingContext.proxyInfo = proxyInfo;
150
+ if (crawlingContext.session?.proxyInfo) {
151
+ const proxyInfo = crawlingContext.session.proxyInfo;
176
152
  newPageOptions.proxyUrl = proxyInfo?.url;
177
- newPageOptions.proxyTier = proxyInfo?.proxyTier;
178
- if (this.proxyConfiguration.isManInTheMiddle) {
179
- /**
180
- * @see https://playwright.dev/docs/api/class-browser/#browser-new-context
181
- * @see https://github.com/puppeteer/puppeteer/blob/main/docs/api.md
182
- */
183
- newPageOptions.pageOptions = {
184
- ignoreHTTPSErrors: true,
185
- acceptInsecureCerts: true,
186
- };
187
- }
153
+ newPageOptions.ignoreTlsErrors = proxyInfo?.ignoreTlsErrors;
188
154
  }
189
155
  const page = (await this.browserPool.newPage(newPageOptions));
190
156
  tryCancel();
191
- this._enhanceCrawlingContextWithPageInfo(crawlingContext, page, useIncognitoPages);
192
- // DO NOT MOVE THIS LINE ABOVE!
193
- // `enhanceCrawlingContextWithPageInfo` gives us a valid session.
194
- // For example, `sessionPoolOptions.sessionOptions.maxUsageCount` can be `1`.
195
- // So we must not save the session prior to making sure it was used only once, otherwise we would use it twice.
196
- const { request, session } = crawlingContext;
197
- if (!request.skipNavigation) {
198
- await this._handleNavigation(crawlingContext);
199
- tryCancel();
200
- await this._responseHandler(crawlingContext);
201
- tryCancel();
202
- // save cookies
203
- // TODO: Should we save the cookies also after/only the handle page?
204
- if (this.persistCookiesPerSession) {
205
- const cookies = await crawlingContext.browserController.getCookies(page);
206
- tryCancel();
207
- session?.setCookies(cookies, request.loadedUrl);
208
- }
209
- }
210
- if (!this.requestMatchesEnqueueStrategy(request)) {
211
- this.log.debug(
212
- // eslint-disable-next-line dot-notation
213
- `Skipping request ${request.id} (starting url: ${request.url} -> loaded url: ${request.loadedUrl}) because it does not match the enqueue strategy (${request['enqueueStrategy']}).`);
214
- request.noRetry = true;
215
- request.state = RequestState.SKIPPED;
216
- return;
217
- }
218
- if (this.retryOnBlocked) {
219
- const error = await this.isRequestBlocked(crawlingContext);
220
- if (error)
221
- throw new SessionError(error);
222
- }
223
- request.state = RequestState.REQUEST_HANDLER;
224
- try {
225
- await addTimeoutToPromise(async () => Promise.resolve(this.userProvidedRequestHandler(crawlingContext)), this.requestHandlerTimeoutInnerMillis, `requestHandler timed out after ${this.requestHandlerTimeoutInnerMillis / 1000} seconds.`);
226
- request.state = RequestState.DONE;
227
- }
228
- catch (e) {
229
- request.state = RequestState.ERROR;
230
- throw e;
231
- }
232
- tryCancel();
233
- }
234
- _enhanceCrawlingContextWithPageInfo(crawlingContext, page, createNewSession) {
235
- crawlingContext.page = page;
236
- // This switch is because the crawlingContexts are created on per request basis.
237
- // However, we need to add the proxy info and session from browser, which is created based on the browser-pool configuration.
238
- // We would not have to do this switch if the proxy and configuration worked as in CheerioCrawler,
239
- // which configures proxy and session for every new request
240
157
  const browserControllerInstance = this.browserPool.getBrowserControllerByPage(page);
241
- crawlingContext.browserController = browserControllerInstance;
242
- if (!createNewSession) {
243
- crawlingContext.session = browserControllerInstance.launchContext.session;
244
- }
245
- if (!crawlingContext.proxyInfo) {
246
- crawlingContext.proxyInfo = browserControllerInstance.launchContext.proxyInfo;
247
- }
248
- crawlingContext.enqueueLinks = async (enqueueOptions) => {
249
- return browserCrawlerEnqueueLinks({
250
- options: enqueueOptions,
251
- page,
252
- requestQueue: await this.getRequestQueue(),
253
- robotsTxtFile: await this.getRobotsTxtFileForUrl(crawlingContext.request.url),
254
- onSkippedRequest: this.onSkippedRequest,
255
- originalRequestUrl: crawlingContext.request.url,
256
- finalRequestUrl: crawlingContext.request.loadedUrl,
257
- });
158
+ const contextEnqueueLinks = crawlingContext.enqueueLinks;
159
+ return {
160
+ page,
161
+ get response() {
162
+ throw new Error("The `response` property is not available. This might mean that you're trying to access it before navigation or that navigation resulted in `null` (this should only happen with `about:` URLs)");
163
+ },
164
+ browserController: browserControllerInstance,
165
+ enqueueLinks: async (enqueueOptions = {}) => {
166
+ return (await browserCrawlerEnqueueLinks({
167
+ options: { ...enqueueOptions, limit: this.calculateEnqueuedRequestLimit(enqueueOptions?.limit) },
168
+ page,
169
+ requestQueue: await this.getRequestQueue(),
170
+ robotsTxtFile: await this.getRobotsTxtFileForUrl(crawlingContext.request.url),
171
+ onSkippedRequest: this.handleSkippedRequest,
172
+ originalRequestUrl: crawlingContext.request.url,
173
+ finalRequestUrl: crawlingContext.request.loadedUrl,
174
+ enqueueLinks: contextEnqueueLinks,
175
+ })); // TODO make this type safe
176
+ },
258
177
  };
259
178
  }
260
- async _handleNavigation(crawlingContext) {
179
+ async performNavigation(crawlingContext) {
180
+ if (crawlingContext.request.skipNavigation) {
181
+ return {
182
+ request: new Proxy(crawlingContext.request, {
183
+ get(target, propertyName, receiver) {
184
+ if (propertyName === 'loadedUrl') {
185
+ throw new NavigationSkippedError('The `request.loadedUrl` property is not available - `skipNavigation` was used');
186
+ }
187
+ return Reflect.get(target, propertyName, receiver);
188
+ },
189
+ }),
190
+ get response() {
191
+ throw new NavigationSkippedError('The `response` property is not available - `skipNavigation` was used');
192
+ },
193
+ };
194
+ }
261
195
  const gotoOptions = { timeout: this.navigationTimeoutMillis };
262
196
  const preNavigationHooksCookies = this._getCookieHeaderFromRequest(crawlingContext.request);
263
197
  crawlingContext.request.state = RequestState.BEFORE_NAV;
@@ -265,8 +199,9 @@ export class BrowserCrawler extends BasicCrawler {
265
199
  tryCancel();
266
200
  const postNavigationHooksCookies = this._getCookieHeaderFromRequest(crawlingContext.request);
267
201
  await this._applyCookies(crawlingContext, preNavigationHooksCookies, postNavigationHooksCookies);
202
+ let response;
268
203
  try {
269
- crawlingContext.response = (await this._navigationHandler(crawlingContext, gotoOptions)) ?? undefined;
204
+ response = (await this._navigationHandler(crawlingContext, gotoOptions)) ?? undefined;
270
205
  }
271
206
  catch (error) {
272
207
  await this._handleNavigationTimeout(crawlingContext, error);
@@ -277,9 +212,49 @@ export class BrowserCrawler extends BasicCrawler {
277
212
  tryCancel();
278
213
  crawlingContext.request.state = RequestState.AFTER_NAV;
279
214
  await this._executeHooks(this.postNavigationHooks, crawlingContext, gotoOptions);
215
+ await this.processResponse(response, crawlingContext);
216
+ tryCancel();
217
+ // save cookies
218
+ // TODO: Should we save the cookies also after/only the handle page?
219
+ if (this.saveResponseCookies && crawlingContext.session) {
220
+ const cookies = await crawlingContext.browserController.getCookies(crawlingContext.page);
221
+ tryCancel();
222
+ const url = crawlingContext.request.loadedUrl;
223
+ for (const cookie of cookies) {
224
+ try {
225
+ crawlingContext.session.cookieJar.setCookieSync(browserPoolCookieToToughCookie(cookie), url, {
226
+ ignoreError: false,
227
+ });
228
+ }
229
+ catch (e) {
230
+ this.log.debug(`Could not set cookie: ${e.message}`);
231
+ }
232
+ }
233
+ }
234
+ if (response !== undefined) {
235
+ return {
236
+ request: crawlingContext.request,
237
+ response,
238
+ };
239
+ }
240
+ return {
241
+ request: crawlingContext.request,
242
+ };
243
+ }
244
+ async handleBlockedRequestByContent(crawlingContext) {
245
+ if (this.retryOnBlocked) {
246
+ const error = await this.isRequestBlocked(crawlingContext);
247
+ if (error)
248
+ throw new SessionError(error);
249
+ }
250
+ return {};
251
+ }
252
+ async restoreRequestState(crawlingContext) {
253
+ crawlingContext.request.state = RequestState.REQUEST_HANDLER;
254
+ return {};
280
255
  }
281
256
  async _applyCookies({ session, request, page, browserController }, preHooksCookies, postHooksCookies) {
282
- const sessionCookie = session?.getCookies(request.url) ?? [];
257
+ const sessionCookie = session?.cookieJar.getCookiesSync(request.url).map(toughCookieToBrowserPoolCookie) ?? [];
283
258
  const parsedPreHooksCookies = preHooksCookies.split(/ *; */).map((c) => cookieStringToToughCookie(c));
284
259
  const parsedPostHooksCookies = postHooksCookies.split(/ *; */).map((c) => cookieStringToToughCookie(c));
285
260
  await browserController.setCookies(page, [...sessionCookie, ...parsedPreHooksCookies, ...parsedPostHooksCookies]
@@ -291,7 +266,7 @@ export class BrowserCrawler extends BasicCrawler {
291
266
  */
292
267
  async _handleNavigationTimeout(crawlingContext, error) {
293
268
  const { session } = crawlingContext;
294
- if (error && error.constructor.name === 'TimeoutError') {
269
+ if (error?.constructor.name === 'TimeoutError') {
295
270
  handleRequestTimeout({ session, errorMessage: error.message });
296
271
  }
297
272
  await crawlingContext.page.close();
@@ -304,18 +279,21 @@ export class BrowserCrawler extends BasicCrawler {
304
279
  throw new SessionError(this._getMessageFromError(error));
305
280
  }
306
281
  }
307
- /**
308
- * Should be overridden in case of different automation library that does not support this response API.
309
- */
310
- async _responseHandler(crawlingContext) {
311
- const { response, session, request, page } = crawlingContext;
282
+ async processResponse(response, crawlingContext) {
283
+ const { session, request, page } = crawlingContext;
312
284
  if (typeof response === 'object' && typeof response.status === 'function') {
313
285
  const status = response.status();
314
286
  this.stats.registerStatusCode(status);
287
+ if (this.isErrorStatusCode(status)) {
288
+ if (this.additionalHttpErrorStatusCodes.has(status)) {
289
+ throw new Error(`${status} - Error status code was set by user.`);
290
+ }
291
+ throw new Error(`${status} - Internal Server Error`);
292
+ }
315
293
  }
316
294
  if (this.sessionPool && response && session) {
317
295
  if (typeof response === 'object' && typeof response.status === 'function') {
318
- this._throwOnBlockedRequest(session, response.status());
296
+ this._throwOnBlockedRequest(response.status());
319
297
  }
320
298
  else {
321
299
  this.log.debug('Got a malformed Browser response.', { request, response });
@@ -323,43 +301,6 @@ export class BrowserCrawler extends BasicCrawler {
323
301
  }
324
302
  request.loadedUrl = await page.url();
325
303
  }
326
- async _extendLaunchContext(_pageId, launchContext) {
327
- const launchContextExtends = {};
328
- if (this.sessionPool) {
329
- launchContextExtends.session = await this.sessionPool.getSession();
330
- }
331
- if (this.proxyConfiguration && !launchContext.proxyUrl) {
332
- const proxyInfo = await this.proxyConfiguration.newProxyInfo(launchContextExtends.session?.id, {
333
- proxyTier: launchContext.proxyTier ?? undefined,
334
- });
335
- launchContext.proxyUrl = proxyInfo?.url;
336
- launchContextExtends.proxyInfo = proxyInfo;
337
- // Disable SSL verification for MITM proxies
338
- if (this.proxyConfiguration.isManInTheMiddle) {
339
- /**
340
- * @see https://playwright.dev/docs/api/class-browser/#browser-new-context
341
- * @see https://github.com/puppeteer/puppeteer/blob/main/docs/api.md
342
- */
343
- launchContext.launchOptions.ignoreHTTPSErrors = true;
344
- launchContext.launchOptions.acceptInsecureCerts = true;
345
- }
346
- }
347
- launchContext.extend(launchContextExtends);
348
- }
349
- _maybeAddSessionRetiredListener(_pageId, browserController) {
350
- if (this.sessionPool) {
351
- const listener = (session) => {
352
- const { launchContext } = browserController;
353
- if (session.id === launchContext.session.id) {
354
- this.browserPool.retireBrowserController(browserController);
355
- }
356
- };
357
- this.sessionPool.on(EVENT_SESSION_RETIRED, listener);
358
- browserController.on("browserClosed" /* BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED */, () => {
359
- return this.sessionPool.removeListener(EVENT_SESSION_RETIRED, listener);
360
- });
361
- }
362
- }
363
304
  /**
364
305
  * Function for cleaning up after all requests are processed.
365
306
  * @ignore
@@ -370,21 +311,33 @@ export class BrowserCrawler extends BasicCrawler {
370
311
  }
371
312
  }
372
313
  /** @internal */
373
- export async function browserCrawlerEnqueueLinks({ options, page, requestQueue, robotsTxtFile, onSkippedRequest, originalRequestUrl, finalRequestUrl, }) {
314
+ function containsEnqueueLinks(options) {
315
+ return !!options.enqueueLinks;
316
+ }
317
+ /** @internal */
318
+ export async function browserCrawlerEnqueueLinks(options) {
319
+ const { options: enqueueLinksOptions, finalRequestUrl, originalRequestUrl, page } = options;
374
320
  const baseUrl = resolveBaseUrlForEnqueueLinksFiltering({
375
- enqueueStrategy: options?.strategy,
321
+ enqueueStrategy: enqueueLinksOptions?.strategy,
376
322
  finalRequestUrl,
377
323
  originalRequestUrl,
378
- userProvidedBaseUrl: options?.baseUrl,
324
+ userProvidedBaseUrl: enqueueLinksOptions?.baseUrl,
379
325
  });
380
- const urls = await extractUrlsFromPage(page, options?.selector ?? 'a', options?.baseUrl ?? finalRequestUrl ?? originalRequestUrl);
326
+ const urls = await extractUrlsFromPage(page, enqueueLinksOptions?.selector ?? 'a', enqueueLinksOptions?.baseUrl ?? finalRequestUrl ?? originalRequestUrl);
327
+ if (containsEnqueueLinks(options)) {
328
+ return options.enqueueLinks({
329
+ urls,
330
+ baseUrl,
331
+ ...enqueueLinksOptions,
332
+ });
333
+ }
381
334
  return enqueueLinks({
382
- requestQueue,
383
- robotsTxtFile,
384
- onSkippedRequest,
335
+ requestQueue: options.requestQueue,
336
+ robotsTxtFile: options.robotsTxtFile,
337
+ onSkippedRequest: options.onSkippedRequest,
385
338
  urls,
386
339
  baseUrl,
387
- ...options,
340
+ ...enqueueLinksOptions,
388
341
  });
389
342
  }
390
343
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"browser-crawler.js","sourceRoot":"","sources":["../../src/internals/browser-crawler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-crawler.js","sourceRoot":"","sources":["../../src/internals/browser-crawler.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,11 @@ export interface BrowserLaunchContext<TOptions, Launcher> extends BrowserPluginO
44
44
  * to reduce the chance of detection of the crawler.
45
45
  */
46
46
  userAgent?: string;
47
+ /**
48
+ * If set to `true`, TLS certificate errors from the upstream proxy will be ignored.
49
+ * This is useful when using HTTPS proxies with self-signed certificates.
50
+ */
51
+ ignoreProxyCertificate?: boolean;
47
52
  /**
48
53
  * The type of browser to be launched.
49
54
  * By default, `chromium` is used. Other browsers like `webkit` or `firefox` can be used.
@@ -81,6 +86,8 @@ export declare abstract class BrowserLauncher<Plugin extends BrowserPlugin, Laun
81
86
  useIncognitoPages: import("ow").BooleanPredicate & import("ow").BasePredicate<boolean | undefined>;
82
87
  // @ts-ignore optional peer dependency or compatibility with es2022
83
88
  browserPerProxy: import("ow").BooleanPredicate & import("ow").BasePredicate<boolean | undefined>;
89
+ // @ts-ignore optional peer dependency or compatibility with es2022
90
+ ignoreProxyCertificate: import("ow").BooleanPredicate & import("ow").BasePredicate<boolean | undefined>;
84
91
  // @ts-ignore optional peer dependency or compatibility with es2022
85
92
  userDataDir: import("ow").StringPredicate & import("ow").BasePredicate<string | undefined>;
86
93
  // @ts-ignore optional peer dependency or compatibility with es2022
@@ -1 +1 @@
1
- {"version":3,"file":"browser-launcher.d.ts","sourceRoot":"","sources":["../../src/internals/browser-launcher.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAU9D,MAAM,WAAW,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAE,SAAQ,oBAAoB,CAAC,QAAQ,CAAC;IAC5F;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACvB;AAED;;;GAGG;AACH,8BAAsB,eAAe,CACjC,MAAM,SAAS,aAAa,EAC5B,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,EAC5B,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,EACnD,aAAa,SAAS,UAAU,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC5F,YAAY,SAAS,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IA4C5E,QAAQ,CAAC,MAAM;IA1CnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,UAAU,CAAC;IAC1B,uBAAuB,EAAE,UAAU,CAAC;IAEpC,MAAM,EAAG,CAAC,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,MAAM,CAAC,YAAY;;;;;;;;MAQ3B;IAEF,MAAM,CAAC,sBAAsB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,CAAC;IAkB7E;;OAEG;gBAEC,aAAa,EAAE,oBAAoB,CAAC,aAAa,EAAE,QAAQ,CAAC,EACnD,MAAM,gBAAkC;IAsBrD;;OAEG;IACH,mBAAmB,IAAI,MAAM;IAQ7B;;;OAGG;IACH,MAAM,IAAI,YAAY;IAOtB,mBAAmB,IAAI,UAAU;IA0BjC,SAAS,CAAC,yBAAyB,IAAI,OAAO;IAI9C,SAAS,CAAC,wBAAwB,IAAI,MAAM;IAI5C;;OAEG;IACH,SAAS,CAAC,+BAA+B,IAAI,MAAM;IA6BnD,SAAS,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;CAe/D"}
1
+ {"version":3,"file":"browser-launcher.d.ts","sourceRoot":"","sources":["../../src/internals/browser-launcher.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAU9D,MAAM,WAAW,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAE,SAAQ,oBAAoB,CAAC,QAAQ,CAAC;IAC5F;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACvB;AAED;;;GAGG;AACH,8BAAsB,eAAe,CACjC,MAAM,SAAS,aAAa,EAC5B,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,EAC5B,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,EACnD,aAAa,SAAS,UAAU,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC5F,YAAY,SAAS,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IA6C5E,QAAQ,CAAC,MAAM;IA3CnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,UAAU,CAAC;IAC1B,uBAAuB,EAAE,UAAU,CAAC;IAEpC,MAAM,EAAG,CAAC,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,MAAM,CAAC,YAAY;;;;;;;;;MAS3B;IAEF,MAAM,CAAC,sBAAsB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,CAAC;IAkB7E;;OAEG;gBAEC,aAAa,EAAE,oBAAoB,CAAC,aAAa,EAAE,QAAQ,CAAC,EACnD,MAAM,gBAAkC;IAsBrD;;OAEG;IACH,mBAAmB,IAAI,MAAM;IAQ7B;;;OAGG;IACH,MAAM,IAAI,YAAY;IAOtB,mBAAmB,IAAI,UAAU;IA0BjC,SAAS,CAAC,yBAAyB,IAAI,OAAO;IAI9C,SAAS,CAAC,wBAAwB,IAAI,MAAM;IAI5C;;OAEG;IACH,SAAS,CAAC,+BAA+B,IAAI,MAAM;IA6BnD,SAAS,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;CAe/D"}
@@ -27,6 +27,7 @@ export class BrowserLauncher {
27
27
  useChrome: ow.optional.boolean,
28
28
  useIncognitoPages: ow.optional.boolean,
29
29
  browserPerProxy: ow.optional.boolean,
30
+ ignoreProxyCertificate: ow.optional.boolean,
30
31
  userDataDir: ow.optional.string,
31
32
  launchOptions: ow.optional.object,
32
33
  userAgent: ow.optional.string,
@@ -87,7 +88,7 @@ export class BrowserLauncher {
87
88
  defaultViewport: DEFAULT_VIEWPORT,
88
89
  ...this.launchOptions,
89
90
  };
90
- if (this.config.get('disableBrowserSandbox')) {
91
+ if (this.config.disableBrowserSandbox) {
91
92
  launchOptions.args.push('--no-sandbox');
92
93
  }
93
94
  if (this.userAgent) {
@@ -102,10 +103,10 @@ export class BrowserLauncher {
102
103
  return launchOptions;
103
104
  }
104
105
  _getDefaultHeadlessOption() {
105
- return this.config.get('headless') && !this.config.get('xvfb', false);
106
+ return this.config.headless && !this.config.xvfb;
106
107
  }
107
108
  _getChromeExecutablePath() {
108
- return this.config.get('chromeExecutablePath', this._getTypicalChromeExecutablePath());
109
+ return this.config.chromeExecutablePath ?? this._getTypicalChromeExecutablePath();
109
110
  }
110
111
  /**
111
112
  * Gets a typical path to Chrome executable, depending on the current operating system.
@@ -1 +1 @@
1
- {"version":3,"file":"browser-launcher.js","sourceRoot":"","sources":["../../src/internals/browser-launcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-launcher.js","sourceRoot":"","sources":["../../src/internals/browser-launcher.ts"],"names":[],"mappings":"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"}