@isdk/web-fetcher 0.2.0

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.
Files changed (66) hide show
  1. package/README.action.cn.md +469 -0
  2. package/README.action.md +452 -0
  3. package/README.cn.md +147 -0
  4. package/README.engine.cn.md +262 -0
  5. package/README.engine.md +262 -0
  6. package/README.md +147 -0
  7. package/dist/index.d.mts +1603 -0
  8. package/dist/index.d.ts +1603 -0
  9. package/dist/index.js +1 -0
  10. package/dist/index.mjs +1 -0
  11. package/docs/README.md +151 -0
  12. package/docs/_media/LICENSE-MIT +22 -0
  13. package/docs/_media/README.action.md +452 -0
  14. package/docs/_media/README.cn.md +147 -0
  15. package/docs/_media/README.engine.md +262 -0
  16. package/docs/classes/CheerioFetchEngine.md +1447 -0
  17. package/docs/classes/ClickAction.md +533 -0
  18. package/docs/classes/ExtractAction.md +533 -0
  19. package/docs/classes/FetchAction.md +444 -0
  20. package/docs/classes/FetchEngine.md +1230 -0
  21. package/docs/classes/FetchSession.md +111 -0
  22. package/docs/classes/FillAction.md +533 -0
  23. package/docs/classes/GetContentAction.md +533 -0
  24. package/docs/classes/GotoAction.md +537 -0
  25. package/docs/classes/PauseAction.md +533 -0
  26. package/docs/classes/PlaywrightFetchEngine.md +1437 -0
  27. package/docs/classes/SubmitAction.md +533 -0
  28. package/docs/classes/WaitForAction.md +533 -0
  29. package/docs/classes/WebFetcher.md +85 -0
  30. package/docs/enumerations/FetchActionResultStatus.md +40 -0
  31. package/docs/functions/fetchWeb.md +43 -0
  32. package/docs/globals.md +72 -0
  33. package/docs/interfaces/BaseFetchActionProperties.md +83 -0
  34. package/docs/interfaces/BaseFetchCollectorActionProperties.md +145 -0
  35. package/docs/interfaces/BaseFetcherProperties.md +206 -0
  36. package/docs/interfaces/Cookie.md +142 -0
  37. package/docs/interfaces/DispatchedEngineAction.md +60 -0
  38. package/docs/interfaces/ExtractActionProperties.md +113 -0
  39. package/docs/interfaces/FetchActionInContext.md +149 -0
  40. package/docs/interfaces/FetchActionProperties.md +125 -0
  41. package/docs/interfaces/FetchActionResult.md +55 -0
  42. package/docs/interfaces/FetchContext.md +424 -0
  43. package/docs/interfaces/FetchEngineContext.md +328 -0
  44. package/docs/interfaces/FetchMetadata.md +73 -0
  45. package/docs/interfaces/FetchResponse.md +105 -0
  46. package/docs/interfaces/FetchReturnTypeRegistry.md +57 -0
  47. package/docs/interfaces/FetchSite.md +320 -0
  48. package/docs/interfaces/FetcherOptions.md +300 -0
  49. package/docs/interfaces/GotoActionOptions.md +66 -0
  50. package/docs/interfaces/PendingEngineRequest.md +51 -0
  51. package/docs/interfaces/SubmitActionOptions.md +23 -0
  52. package/docs/interfaces/WaitForActionOptions.md +39 -0
  53. package/docs/type-aliases/BaseFetchActionOptions.md +11 -0
  54. package/docs/type-aliases/BaseFetchCollectorOptions.md +11 -0
  55. package/docs/type-aliases/BrowserEngine.md +11 -0
  56. package/docs/type-aliases/FetchActionCapabilities.md +11 -0
  57. package/docs/type-aliases/FetchActionCapabilityMode.md +11 -0
  58. package/docs/type-aliases/FetchActionOptions.md +11 -0
  59. package/docs/type-aliases/FetchEngineAction.md +18 -0
  60. package/docs/type-aliases/FetchEngineType.md +11 -0
  61. package/docs/type-aliases/FetchReturnType.md +11 -0
  62. package/docs/type-aliases/FetchReturnTypeFor.md +17 -0
  63. package/docs/type-aliases/OnFetchPauseCallback.md +23 -0
  64. package/docs/type-aliases/ResourceType.md +11 -0
  65. package/docs/variables/DefaultFetcherProperties.md +11 -0
  66. package/package.json +90 -0
@@ -0,0 +1,1447 @@
1
+ [**@isdk/web-fetcher**](../README.md)
2
+
3
+ ***
4
+
5
+ [@isdk/web-fetcher](../globals.md) / CheerioFetchEngine
6
+
7
+ # Class: CheerioFetchEngine
8
+
9
+ Defined in: [packages/web-fetcher/src/engine/cheerio.ts:20](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/cheerio.ts#L20)
10
+
11
+ ## Extends
12
+
13
+ - [`FetchEngine`](FetchEngine.md)\<`CheerioCrawlingContext`, `CheerioCrawler`, `CheerioCrawlerOptions`\>
14
+
15
+ ## Constructors
16
+
17
+ ### Constructor
18
+
19
+ > **new CheerioFetchEngine**(): `CheerioFetchEngine`
20
+
21
+ #### Returns
22
+
23
+ `CheerioFetchEngine`
24
+
25
+ #### Inherited from
26
+
27
+ [`FetchEngine`](FetchEngine.md).[`constructor`](FetchEngine.md#constructor)
28
+
29
+ ## Properties
30
+
31
+ ### actionEmitter
32
+
33
+ > `protected` **actionEmitter**: `EventEmitter`
34
+
35
+ Defined in: [packages/web-fetcher/src/engine/base.ts:235](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L235)
36
+
37
+ #### Inherited from
38
+
39
+ [`FetchEngine`](FetchEngine.md).[`actionEmitter`](FetchEngine.md#actionemitter)
40
+
41
+ ***
42
+
43
+ ### blockedTypes
44
+
45
+ > `protected` **blockedTypes**: `Set`\<`string`\>
46
+
47
+ Defined in: [packages/web-fetcher/src/engine/base.ts:239](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L239)
48
+
49
+ #### Inherited from
50
+
51
+ [`FetchEngine`](FetchEngine.md).[`blockedTypes`](FetchEngine.md#blockedtypes)
52
+
53
+ ***
54
+
55
+ ### crawler?
56
+
57
+ > `protected` `optional` **crawler**: `CheerioCrawler`
58
+
59
+ Defined in: [packages/web-fetcher/src/engine/base.ts:227](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L227)
60
+
61
+ #### Inherited from
62
+
63
+ [`FetchEngine`](FetchEngine.md).[`crawler`](FetchEngine.md#crawler)
64
+
65
+ ***
66
+
67
+ ### ctx?
68
+
69
+ > `protected` `optional` **ctx**: [`FetchEngineContext`](../interfaces/FetchEngineContext.md)
70
+
71
+ Defined in: [packages/web-fetcher/src/engine/base.ts:225](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L225)
72
+
73
+ #### Inherited from
74
+
75
+ [`FetchEngine`](FetchEngine.md).[`ctx`](FetchEngine.md#ctx)
76
+
77
+ ***
78
+
79
+ ### hdrs
80
+
81
+ > `protected` **hdrs**: `Record`\<`string`, `string`\> = `{}`
82
+
83
+ Defined in: [packages/web-fetcher/src/engine/base.ts:231](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L231)
84
+
85
+ #### Inherited from
86
+
87
+ [`FetchEngine`](FetchEngine.md).[`hdrs`](FetchEngine.md#hdrs)
88
+
89
+ ***
90
+
91
+ ### isCrawlerReady?
92
+
93
+ > `protected` `optional` **isCrawlerReady**: `boolean`
94
+
95
+ Defined in: [packages/web-fetcher/src/engine/base.ts:228](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L228)
96
+
97
+ #### Inherited from
98
+
99
+ [`FetchEngine`](FetchEngine.md).[`isCrawlerReady`](FetchEngine.md#iscrawlerready)
100
+
101
+ ***
102
+
103
+ ### isPageActive
104
+
105
+ > `protected` **isPageActive**: `boolean` = `false`
106
+
107
+ Defined in: [packages/web-fetcher/src/engine/base.ts:236](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L236)
108
+
109
+ #### Inherited from
110
+
111
+ [`FetchEngine`](FetchEngine.md).[`isPageActive`](FetchEngine.md#ispageactive)
112
+
113
+ ***
114
+
115
+ ### jar
116
+
117
+ > `protected` **jar**: [`Cookie`](../interfaces/Cookie.md)[] = `[]`
118
+
119
+ Defined in: [packages/web-fetcher/src/engine/base.ts:232](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L232)
120
+
121
+ #### Inherited from
122
+
123
+ [`FetchEngine`](FetchEngine.md).[`jar`](FetchEngine.md#jar)
124
+
125
+ ***
126
+
127
+ ### lastResponse?
128
+
129
+ > `protected` `optional` **lastResponse**: [`FetchResponse`](../interfaces/FetchResponse.md)
130
+
131
+ Defined in: [packages/web-fetcher/src/engine/base.ts:238](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L238)
132
+
133
+ #### Inherited from
134
+
135
+ [`FetchEngine`](FetchEngine.md).[`lastResponse`](FetchEngine.md#lastresponse)
136
+
137
+ ***
138
+
139
+ ### navigationLock
140
+
141
+ > `protected` **navigationLock**: `PromiseLock`
142
+
143
+ Defined in: [packages/web-fetcher/src/engine/base.ts:237](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L237)
144
+
145
+ #### Inherited from
146
+
147
+ [`FetchEngine`](FetchEngine.md).[`navigationLock`](FetchEngine.md#navigationlock)
148
+
149
+ ***
150
+
151
+ ### opts?
152
+
153
+ > `protected` `optional` **opts**: [`BaseFetcherProperties`](../interfaces/BaseFetcherProperties.md)
154
+
155
+ Defined in: [packages/web-fetcher/src/engine/base.ts:226](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L226)
156
+
157
+ #### Inherited from
158
+
159
+ [`FetchEngine`](FetchEngine.md).[`opts`](FetchEngine.md#opts)
160
+
161
+ ***
162
+
163
+ ### pendingRequests
164
+
165
+ > `protected` **pendingRequests**: `Map`\<`string`, [`PendingEngineRequest`](../interfaces/PendingEngineRequest.md)\>
166
+
167
+ Defined in: [packages/web-fetcher/src/engine/base.ts:233](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L233)
168
+
169
+ #### Inherited from
170
+
171
+ [`FetchEngine`](FetchEngine.md).[`pendingRequests`](FetchEngine.md#pendingrequests)
172
+
173
+ ***
174
+
175
+ ### requestCounter
176
+
177
+ > `protected` **requestCounter**: `number` = `0`
178
+
179
+ Defined in: [packages/web-fetcher/src/engine/base.ts:234](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L234)
180
+
181
+ #### Inherited from
182
+
183
+ [`FetchEngine`](FetchEngine.md).[`requestCounter`](FetchEngine.md#requestcounter)
184
+
185
+ ***
186
+
187
+ ### requestQueue?
188
+
189
+ > `protected` `optional` **requestQueue**: `RequestQueue`
190
+
191
+ Defined in: [packages/web-fetcher/src/engine/base.ts:229](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L229)
192
+
193
+ #### Inherited from
194
+
195
+ [`FetchEngine`](FetchEngine.md).[`requestQueue`](FetchEngine.md#requestqueue)
196
+
197
+ ***
198
+
199
+ ### id
200
+
201
+ > `readonly` `static` **id**: `"cheerio"` = `'cheerio'`
202
+
203
+ Defined in: [packages/web-fetcher/src/engine/cheerio.ts:25](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/cheerio.ts#L25)
204
+
205
+ Unique identifier for the engine implementation.
206
+
207
+ #### Remarks
208
+
209
+ Must be defined by concrete implementations. Used for registration and lookup in engine registry.
210
+
211
+ #### Overrides
212
+
213
+ [`FetchEngine`](FetchEngine.md).[`id`](FetchEngine.md#id)
214
+
215
+ ***
216
+
217
+ ### mode
218
+
219
+ > `readonly` `static` **mode**: `"http"` = `'http'`
220
+
221
+ Defined in: [packages/web-fetcher/src/engine/cheerio.ts:26](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/cheerio.ts#L26)
222
+
223
+ Execution mode of the engine (`'http'` or `'browser'`).
224
+
225
+ #### Remarks
226
+
227
+ Must be defined by concrete implementations. Indicates whether engine operates at HTTP level or uses full browser.
228
+
229
+ #### Overrides
230
+
231
+ [`FetchEngine`](FetchEngine.md).[`mode`](FetchEngine.md#mode)
232
+
233
+ ## Accessors
234
+
235
+ ### context
236
+
237
+ #### Get Signature
238
+
239
+ > **get** **context**(): `undefined` \| [`FetchEngineContext`](../interfaces/FetchEngineContext.md)
240
+
241
+ Defined in: [packages/web-fetcher/src/engine/base.ts:473](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L473)
242
+
243
+ Gets the fetch engine context associated with this instance.
244
+
245
+ ##### Returns
246
+
247
+ `undefined` \| [`FetchEngineContext`](../interfaces/FetchEngineContext.md)
248
+
249
+ #### Inherited from
250
+
251
+ [`FetchEngine`](FetchEngine.md).[`context`](FetchEngine.md#context)
252
+
253
+ ***
254
+
255
+ ### id
256
+
257
+ #### Get Signature
258
+
259
+ > **get** **id**(): `string`
260
+
261
+ Defined in: [packages/web-fetcher/src/engine/base.ts:459](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L459)
262
+
263
+ Gets the unique identifier of this engine implementation.
264
+
265
+ ##### Returns
266
+
267
+ `string`
268
+
269
+ #### Inherited from
270
+
271
+ [`FetchEngine`](FetchEngine.md).[`id`](FetchEngine.md#id-1)
272
+
273
+ ***
274
+
275
+ ### mode
276
+
277
+ #### Get Signature
278
+
279
+ > **get** **mode**(): [`FetchEngineType`](../type-aliases/FetchEngineType.md)
280
+
281
+ Defined in: [packages/web-fetcher/src/engine/base.ts:466](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L466)
282
+
283
+ Gets the execution mode of this engine (`'http'` or `'browser'`).
284
+
285
+ ##### Returns
286
+
287
+ [`FetchEngineType`](../type-aliases/FetchEngineType.md)
288
+
289
+ #### Inherited from
290
+
291
+ [`FetchEngine`](FetchEngine.md).[`mode`](FetchEngine.md#mode-1)
292
+
293
+ ## Methods
294
+
295
+ ### \_cleanup()?
296
+
297
+ > `protected` `optional` **\_cleanup**(): `Promise`\<`void`\>
298
+
299
+ Defined in: [packages/web-fetcher/src/engine/base.ts:241](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L241)
300
+
301
+ #### Returns
302
+
303
+ `Promise`\<`void`\>
304
+
305
+ #### Inherited from
306
+
307
+ [`FetchEngine`](FetchEngine.md).[`_cleanup`](FetchEngine.md#_cleanup)
308
+
309
+ ***
310
+
311
+ ### \_commonCleanup()
312
+
313
+ > `protected` **\_commonCleanup**(): `Promise`\<`void`\>
314
+
315
+ Defined in: [packages/web-fetcher/src/engine/base.ts:656](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L656)
316
+
317
+ #### Returns
318
+
319
+ `Promise`\<`void`\>
320
+
321
+ #### Inherited from
322
+
323
+ [`FetchEngine`](FetchEngine.md).[`_commonCleanup`](FetchEngine.md#_commoncleanup)
324
+
325
+ ***
326
+
327
+ ### \_createCrawler()
328
+
329
+ > `protected` **\_createCrawler**(`options`): `CheerioCrawler`
330
+
331
+ Defined in: [packages/web-fetcher/src/engine/cheerio.ts:221](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/cheerio.ts#L221)
332
+
333
+ **`Internal`**
334
+
335
+ Creates the crawler instance for the specific engine implementation.
336
+
337
+ #### Parameters
338
+
339
+ ##### options
340
+
341
+ `CheerioCrawlerOptions`
342
+
343
+ The final crawler options.
344
+
345
+ #### Returns
346
+
347
+ `CheerioCrawler`
348
+
349
+ #### Overrides
350
+
351
+ [`FetchEngine`](FetchEngine.md).[`_createCrawler`](FetchEngine.md#_createcrawler)
352
+
353
+ ***
354
+
355
+ ### \_executePendingActions()
356
+
357
+ > `protected` **\_executePendingActions**(`context`): `Promise`\<`void`\>
358
+
359
+ Defined in: [packages/web-fetcher/src/engine/base.ts:572](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L572)
360
+
361
+ **`Internal`**
362
+
363
+ Executes all pending fetch engine actions within the current Crawlee request handler context.
364
+
365
+ **Critical Execution Constraint**: This method **MUST** be awaited within the synchronous execution path
366
+ of Crawlee's [requestHandler](https://crawlee.dev/js/api/basic-crawler) (before any `await` that yields control back to the event loop).
367
+
368
+ ### Why This Constraint Exists
369
+ - Crawlee's page context ([PlaywrightCrawler](https://crawlee.dev/js/api/playwright-crawler)'s `page` or [CheerioCrawler](https://crawlee.dev/js/api/cheerio-crawler)'s `$`)
370
+ is **only valid during the synchronous execution phase** of the request handler
371
+ - After any `await` (e.g., `await page.goto()`), the page context may be destroyed
372
+ due to Crawlee's internal resource management
373
+
374
+ ### How It Works
375
+ 1. Processes all actions queued via [dispatchAction](#dispatchaction) (click, fill, submit, etc.)
376
+ 2. Maintains the page context validity window via [isPageActive](#ispageactive) lifecycle flag
377
+ 3. Automatically cleans up event listeners upon completion
378
+
379
+ Usage see [\_sharedRequestHandler](#_sharedrequesthandler)
380
+
381
+ #### Parameters
382
+
383
+ ##### context
384
+
385
+ `CheerioCrawlingContext`
386
+
387
+ The active Crawlee crawling context containing the page/$ object
388
+
389
+ #### Returns
390
+
391
+ `Promise`\<`void`\>
392
+
393
+ #### See
394
+
395
+ [\_sharedRequestHandler](#_sharedrequesthandler)
396
+
397
+ #### Throws
398
+
399
+ If called outside valid page context window (`!this.isPageActive`)
400
+ Engine infrastructure method - not for direct consumer use
401
+
402
+ #### Inherited from
403
+
404
+ [`FetchEngine`](FetchEngine.md).[`_executePendingActions`](FetchEngine.md#_executependingactions)
405
+
406
+ ***
407
+
408
+ ### \_extract()
409
+
410
+ > `protected` **\_extract**(`schema`, `context`): `Promise`\<`any`\>
411
+
412
+ Defined in: [packages/web-fetcher/src/engine/base.ts:246](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L246)
413
+
414
+ #### Parameters
415
+
416
+ ##### schema
417
+
418
+ `ExtractSchema`
419
+
420
+ ##### context
421
+
422
+ `any`
423
+
424
+ #### Returns
425
+
426
+ `Promise`\<`any`\>
427
+
428
+ #### Inherited from
429
+
430
+ [`FetchEngine`](FetchEngine.md).[`_extract`](FetchEngine.md#_extract)
431
+
432
+ ***
433
+
434
+ ### \_extractValue()
435
+
436
+ > `protected` **\_extractValue**(`schema`, `context`): `Promise`\<`any`\>
437
+
438
+ Defined in: [packages/web-fetcher/src/engine/cheerio.ts:52](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/cheerio.ts#L52)
439
+
440
+ #### Parameters
441
+
442
+ ##### schema
443
+
444
+ `ExtractValueSchema`
445
+
446
+ ##### context
447
+
448
+ ###### el
449
+
450
+ `Cheerio`
451
+
452
+ #### Returns
453
+
454
+ `Promise`\<`any`\>
455
+
456
+ #### Overrides
457
+
458
+ [`FetchEngine`](FetchEngine.md).[`_extractValue`](FetchEngine.md#_extractvalue)
459
+
460
+ ***
461
+
462
+ ### \_getSpecificCrawlerOptions()
463
+
464
+ > `protected` **\_getSpecificCrawlerOptions**(`ctx`): `CheerioCrawlerOptions`
465
+
466
+ Defined in: [packages/web-fetcher/src/engine/cheerio.ts:225](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/cheerio.ts#L225)
467
+
468
+ **`Internal`**
469
+
470
+ Gets the crawler-specific options from the subclass.
471
+
472
+ #### Parameters
473
+
474
+ ##### ctx
475
+
476
+ [`FetchEngineContext`](../interfaces/FetchEngineContext.md)
477
+
478
+ The fetch engine context.
479
+
480
+ #### Returns
481
+
482
+ `CheerioCrawlerOptions`
483
+
484
+ #### Overrides
485
+
486
+ [`FetchEngine`](FetchEngine.md).[`_getSpecificCrawlerOptions`](FetchEngine.md#_getspecificcrawleroptions)
487
+
488
+ ***
489
+
490
+ ### \_normalizeSchema()
491
+
492
+ > `protected` **\_normalizeSchema**(`schema`): `ExtractSchema`
493
+
494
+ Defined in: [packages/web-fetcher/src/engine/base.ts:415](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L415)
495
+
496
+ #### Parameters
497
+
498
+ ##### schema
499
+
500
+ `ExtractSchema`
501
+
502
+ #### Returns
503
+
504
+ `ExtractSchema`
505
+
506
+ #### Inherited from
507
+
508
+ [`FetchEngine`](FetchEngine.md).[`_normalizeSchema`](FetchEngine.md#_normalizeschema)
509
+
510
+ ***
511
+
512
+ ### \_querySelectorAll()
513
+
514
+ > `protected` **\_querySelectorAll**(`context`, `selector`): `Promise`\<`any`[]\>
515
+
516
+ Defined in: [packages/web-fetcher/src/engine/cheerio.ts:47](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/cheerio.ts#L47)
517
+
518
+ #### Parameters
519
+
520
+ ##### context
521
+
522
+ ###### $
523
+
524
+ `CheerioAPI`
525
+
526
+ ###### el
527
+
528
+ `Cheerio`
529
+
530
+ ##### selector
531
+
532
+ `string`
533
+
534
+ #### Returns
535
+
536
+ `Promise`\<`any`[]\>
537
+
538
+ #### Overrides
539
+
540
+ [`FetchEngine`](FetchEngine.md).[`_querySelectorAll`](FetchEngine.md#_queryselectorall)
541
+
542
+ ***
543
+
544
+ ### \_sharedFailedRequestHandler()
545
+
546
+ > `protected` **\_sharedFailedRequestHandler**(`context`, `error?`): `Promise`\<`void`\>
547
+
548
+ Defined in: [packages/web-fetcher/src/engine/base.ts:623](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L623)
549
+
550
+ #### Parameters
551
+
552
+ ##### context
553
+
554
+ `CheerioCrawlingContext`
555
+
556
+ ##### error?
557
+
558
+ `Error`
559
+
560
+ #### Returns
561
+
562
+ `Promise`\<`void`\>
563
+
564
+ #### Inherited from
565
+
566
+ [`FetchEngine`](FetchEngine.md).[`_sharedFailedRequestHandler`](FetchEngine.md#_sharedfailedrequesthandler)
567
+
568
+ ***
569
+
570
+ ### \_sharedRequestHandler()
571
+
572
+ > `protected` **\_sharedRequestHandler**(`context`): `Promise`\<`void`\>
573
+
574
+ Defined in: [packages/web-fetcher/src/engine/base.ts:595](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L595)
575
+
576
+ #### Parameters
577
+
578
+ ##### context
579
+
580
+ `CheerioCrawlingContext`
581
+
582
+ #### Returns
583
+
584
+ `Promise`\<`void`\>
585
+
586
+ #### Inherited from
587
+
588
+ [`FetchEngine`](FetchEngine.md).[`_sharedRequestHandler`](FetchEngine.md#_sharedrequesthandler)
589
+
590
+ ***
591
+
592
+ ### blockResources()
593
+
594
+ > **blockResources**(`types`, `overwrite?`): `Promise`\<`number`\>
595
+
596
+ Defined in: [packages/web-fetcher/src/engine/base.ts:700](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L700)
597
+
598
+ Blocks specified resource types from loading.
599
+
600
+ #### Parameters
601
+
602
+ ##### types
603
+
604
+ `string`[]
605
+
606
+ Resource types to block
607
+
608
+ ##### overwrite?
609
+
610
+ `boolean`
611
+
612
+ Whether to replace existing blocked types
613
+
614
+ #### Returns
615
+
616
+ `Promise`\<`number`\>
617
+
618
+ Number of blocked resource types
619
+
620
+ #### Example
621
+
622
+ ```ts
623
+ await engine.blockResources(['image', 'stylesheet']);
624
+ await engine.blockResources(['script'], true); // Replace existing
625
+ ```
626
+
627
+ #### Inherited from
628
+
629
+ [`FetchEngine`](FetchEngine.md).[`blockResources`](FetchEngine.md#blockresources)
630
+
631
+ ***
632
+
633
+ ### buildResponse()
634
+
635
+ > `protected` **buildResponse**(`context`): `Promise`\<[`FetchResponse`](../interfaces/FetchResponse.md)\>
636
+
637
+ Defined in: [packages/web-fetcher/src/engine/cheerio.ts:28](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/cheerio.ts#L28)
638
+
639
+ **`Internal`**
640
+
641
+ Abstract method for building standard [FetchResponse] from Crawlee context.
642
+
643
+ #### Parameters
644
+
645
+ ##### context
646
+
647
+ `CheerioCrawlingContext`
648
+
649
+ Crawlee crawling context
650
+
651
+ #### Returns
652
+
653
+ `Promise`\<[`FetchResponse`](../interfaces/FetchResponse.md)\>
654
+
655
+ Promise resolving to [FetchResponse] object
656
+
657
+ #### Remarks
658
+
659
+ Converts implementation-specific context (Playwright `page` or Cheerio `$`) to standardized response.
660
+
661
+ #### Overrides
662
+
663
+ [`FetchEngine`](FetchEngine.md).[`buildResponse`](FetchEngine.md#buildresponse)
664
+
665
+ ***
666
+
667
+ ### cleanup()
668
+
669
+ > **cleanup**(): `Promise`\<`void`\>
670
+
671
+ Defined in: [packages/web-fetcher/src/engine/base.ts:536](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L536)
672
+
673
+ #### Returns
674
+
675
+ `Promise`\<`void`\>
676
+
677
+ #### Inherited from
678
+
679
+ [`FetchEngine`](FetchEngine.md).[`cleanup`](FetchEngine.md#cleanup)
680
+
681
+ ***
682
+
683
+ ### click()
684
+
685
+ > **click**(`selector`): `Promise`\<`void`\>
686
+
687
+ Defined in: [packages/web-fetcher/src/engine/base.ts:365](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L365)
688
+
689
+ Clicks on element matching selector.
690
+
691
+ #### Parameters
692
+
693
+ ##### selector
694
+
695
+ `string`
696
+
697
+ CSS selector of element to click
698
+
699
+ #### Returns
700
+
701
+ `Promise`\<`void`\>
702
+
703
+ Promise resolving when click is processed
704
+
705
+ #### Throws
706
+
707
+ When no active page context exists
708
+
709
+ #### Inherited from
710
+
711
+ [`FetchEngine`](FetchEngine.md).[`click`](FetchEngine.md#click)
712
+
713
+ ***
714
+
715
+ ### cookies()
716
+
717
+ #### Call Signature
718
+
719
+ > **cookies**(): `Promise`\<[`Cookie`](../interfaces/Cookie.md)[]\>
720
+
721
+ Defined in: [packages/web-fetcher/src/engine/base.ts:811](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L811)
722
+
723
+ Manages cookies for current session with multiple overloads.
724
+
725
+ Gets all cookies.
726
+
727
+ ##### Returns
728
+
729
+ `Promise`\<[`Cookie`](../interfaces/Cookie.md)[]\>
730
+
731
+ Array of cookies
732
+
733
+ Sets cookies for session.
734
+
735
+ ##### Example
736
+
737
+ ```ts
738
+ const cookies = await engine.cookies();
739
+ await engine.cookies([{ name: 'session', value: '123' }]);
740
+ ```
741
+
742
+ ##### Inherited from
743
+
744
+ [`FetchEngine`](FetchEngine.md).[`cookies`](FetchEngine.md#cookies)
745
+
746
+ #### Call Signature
747
+
748
+ > **cookies**(`cookies`): `Promise`\<`boolean`\>
749
+
750
+ Defined in: [packages/web-fetcher/src/engine/base.ts:812](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L812)
751
+
752
+ Manages cookies for current session with multiple overloads.
753
+
754
+ Gets all cookies.
755
+
756
+ ##### Parameters
757
+
758
+ ###### cookies
759
+
760
+ [`Cookie`](../interfaces/Cookie.md)[]
761
+
762
+ Cookies to set
763
+
764
+ ##### Returns
765
+
766
+ `Promise`\<`boolean`\>
767
+
768
+ Array of cookies
769
+
770
+ Sets cookies for session.
771
+
772
+ ##### Example
773
+
774
+ ```ts
775
+ const cookies = await engine.cookies();
776
+ await engine.cookies([{ name: 'session', value: '123' }]);
777
+ ```
778
+
779
+ ##### Inherited from
780
+
781
+ [`FetchEngine`](FetchEngine.md).[`cookies`](FetchEngine.md#cookies)
782
+
783
+ ***
784
+
785
+ ### dispatchAction()
786
+
787
+ > `protected` **dispatchAction**\<`T`\>(`action`): `Promise`\<`T`\>
788
+
789
+ Defined in: [packages/web-fetcher/src/engine/base.ts:639](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L639)
790
+
791
+ #### Type Parameters
792
+
793
+ ##### T
794
+
795
+ `T`
796
+
797
+ #### Parameters
798
+
799
+ ##### action
800
+
801
+ [`FetchEngineAction`](../type-aliases/FetchEngineAction.md)
802
+
803
+ #### Returns
804
+
805
+ `Promise`\<`T`\>
806
+
807
+ #### Inherited from
808
+
809
+ [`FetchEngine`](FetchEngine.md).[`dispatchAction`](FetchEngine.md#dispatchaction)
810
+
811
+ ***
812
+
813
+ ### dispose()
814
+
815
+ > **dispose**(): `Promise`\<`void`\>
816
+
817
+ Defined in: [packages/web-fetcher/src/engine/base.ts:829](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L829)
818
+
819
+ Disposes of engine, cleaning up all resources.
820
+
821
+ #### Returns
822
+
823
+ `Promise`\<`void`\>
824
+
825
+ Promise resolving when disposal completes
826
+
827
+ #### Inherited from
828
+
829
+ [`FetchEngine`](FetchEngine.md).[`dispose`](FetchEngine.md#dispose)
830
+
831
+ ***
832
+
833
+ ### executeAction()
834
+
835
+ > `protected` **executeAction**(`context`, `action`): `Promise`\<`any`\>
836
+
837
+ Defined in: [packages/web-fetcher/src/engine/cheerio.ts:80](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/cheerio.ts#L80)
838
+
839
+ **`Internal`**
840
+
841
+ Abstract method for executing action within current page context.
842
+
843
+ #### Parameters
844
+
845
+ ##### context
846
+
847
+ `CheerioCrawlingContext`
848
+
849
+ Crawlee crawling context
850
+
851
+ ##### action
852
+
853
+ [`FetchEngineAction`](../type-aliases/FetchEngineAction.md)
854
+
855
+ Action to execute
856
+
857
+ #### Returns
858
+
859
+ `Promise`\<`any`\>
860
+
861
+ Promise resolving to action result
862
+
863
+ #### Remarks
864
+
865
+ Handles specific user interactions using underlying technology (Playwright/Cheerio).
866
+
867
+ #### Overrides
868
+
869
+ [`FetchEngine`](FetchEngine.md).[`executeAction`](FetchEngine.md#executeaction)
870
+
871
+ ***
872
+
873
+ ### extract()
874
+
875
+ > **extract**\<`T`\>(`schema`): `Promise`\<`T`\>
876
+
877
+ Defined in: [packages/web-fetcher/src/engine/base.ts:410](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L410)
878
+
879
+ Extracts structured data from the current page content.
880
+
881
+ #### Type Parameters
882
+
883
+ ##### T
884
+
885
+ `T`
886
+
887
+ #### Parameters
888
+
889
+ ##### schema
890
+
891
+ `ExtractSchema`
892
+
893
+ An object defining the data to extract.
894
+
895
+ #### Returns
896
+
897
+ `Promise`\<`T`\>
898
+
899
+ A promise that resolves to an object with the extracted data.
900
+
901
+ #### Inherited from
902
+
903
+ [`FetchEngine`](FetchEngine.md).[`extract`](FetchEngine.md#extract)
904
+
905
+ ***
906
+
907
+ ### fill()
908
+
909
+ > **fill**(`selector`, `value`): `Promise`\<`void`\>
910
+
911
+ Defined in: [packages/web-fetcher/src/engine/base.ts:377](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L377)
912
+
913
+ Fills input element with specified value.
914
+
915
+ #### Parameters
916
+
917
+ ##### selector
918
+
919
+ `string`
920
+
921
+ CSS selector of input element
922
+
923
+ ##### value
924
+
925
+ `string`
926
+
927
+ Value to fill
928
+
929
+ #### Returns
930
+
931
+ `Promise`\<`void`\>
932
+
933
+ Promise resolving when fill operation completes
934
+
935
+ #### Throws
936
+
937
+ When no active page context exists
938
+
939
+ #### Inherited from
940
+
941
+ [`FetchEngine`](FetchEngine.md).[`fill`](FetchEngine.md#fill)
942
+
943
+ ***
944
+
945
+ ### getContent()
946
+
947
+ > **getContent**(): `Promise`\<[`FetchResponse`](../interfaces/FetchResponse.md)\>
948
+
949
+ Defined in: [packages/web-fetcher/src/engine/base.ts:714](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L714)
950
+
951
+ Gets content of current page.
952
+
953
+ #### Returns
954
+
955
+ `Promise`\<[`FetchResponse`](../interfaces/FetchResponse.md)\>
956
+
957
+ Promise resolving to fetch response
958
+
959
+ #### Throws
960
+
961
+ When no content has been fetched yet
962
+
963
+ #### Inherited from
964
+
965
+ [`FetchEngine`](FetchEngine.md).[`getContent`](FetchEngine.md#getcontent)
966
+
967
+ ***
968
+
969
+ ### goto()
970
+
971
+ > **goto**(`url`, `params?`): `Promise`\<`void` \| [`FetchResponse`](../interfaces/FetchResponse.md)\>
972
+
973
+ Defined in: [packages/web-fetcher/src/engine/cheerio.ts:245](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/cheerio.ts#L245)
974
+
975
+ Navigates to the specified URL.
976
+
977
+ #### Parameters
978
+
979
+ ##### url
980
+
981
+ `string`
982
+
983
+ Target URL
984
+
985
+ ##### params?
986
+
987
+ [`GotoActionOptions`](../interfaces/GotoActionOptions.md)
988
+
989
+ Navigation options
990
+
991
+ #### Returns
992
+
993
+ `Promise`\<`void` \| [`FetchResponse`](../interfaces/FetchResponse.md)\>
994
+
995
+ Promise resolving when navigation completes
996
+
997
+ #### Example
998
+
999
+ ```ts
1000
+ await engine.goto('https://example.com');
1001
+ ```
1002
+
1003
+ #### Overrides
1004
+
1005
+ [`FetchEngine`](FetchEngine.md).[`goto`](FetchEngine.md#goto)
1006
+
1007
+ ***
1008
+
1009
+ ### headers()
1010
+
1011
+ #### Call Signature
1012
+
1013
+ > **headers**(): `Promise`\<`Record`\<`string`, `string`\>\>
1014
+
1015
+ Defined in: [packages/web-fetcher/src/engine/base.ts:753](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L753)
1016
+
1017
+ Manages HTTP headers for requests with multiple overloads.
1018
+
1019
+ Gets all headers.
1020
+
1021
+ ##### Returns
1022
+
1023
+ `Promise`\<`Record`\<`string`, `string`\>\>
1024
+
1025
+ All headers as record
1026
+
1027
+ Gets specific header value.
1028
+
1029
+ ##### Example
1030
+
1031
+ ```ts
1032
+ const allHeaders = await engine.headers();
1033
+ const userAgent = await engine.headers('user-agent');
1034
+ await engine.headers({ 'x-custom': 'value' });
1035
+ await engine.headers('auth', 'token');
1036
+ ```
1037
+
1038
+ ##### Inherited from
1039
+
1040
+ [`FetchEngine`](FetchEngine.md).[`headers`](FetchEngine.md#headers)
1041
+
1042
+ #### Call Signature
1043
+
1044
+ > **headers**(`name`): `Promise`\<`string`\>
1045
+
1046
+ Defined in: [packages/web-fetcher/src/engine/base.ts:754](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L754)
1047
+
1048
+ Manages HTTP headers for requests with multiple overloads.
1049
+
1050
+ Gets all headers.
1051
+
1052
+ ##### Parameters
1053
+
1054
+ ###### name
1055
+
1056
+ `string`
1057
+
1058
+ Header name
1059
+
1060
+ ##### Returns
1061
+
1062
+ `Promise`\<`string`\>
1063
+
1064
+ All headers as record
1065
+
1066
+ Gets specific header value.
1067
+
1068
+ ##### Example
1069
+
1070
+ ```ts
1071
+ const allHeaders = await engine.headers();
1072
+ const userAgent = await engine.headers('user-agent');
1073
+ await engine.headers({ 'x-custom': 'value' });
1074
+ await engine.headers('auth', 'token');
1075
+ ```
1076
+
1077
+ ##### Inherited from
1078
+
1079
+ [`FetchEngine`](FetchEngine.md).[`headers`](FetchEngine.md#headers)
1080
+
1081
+ #### Call Signature
1082
+
1083
+ > **headers**(`headers`, `replaced?`): `Promise`\<`boolean`\>
1084
+
1085
+ Defined in: [packages/web-fetcher/src/engine/base.ts:755](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L755)
1086
+
1087
+ Manages HTTP headers for requests with multiple overloads.
1088
+
1089
+ Gets all headers.
1090
+
1091
+ ##### Parameters
1092
+
1093
+ ###### headers
1094
+
1095
+ `Record`\<`string`, `string`\>
1096
+
1097
+ Headers to set
1098
+
1099
+ ###### replaced?
1100
+
1101
+ `boolean`
1102
+
1103
+ Whether to replace all existing headers
1104
+
1105
+ ##### Returns
1106
+
1107
+ `Promise`\<`boolean`\>
1108
+
1109
+ All headers as record
1110
+
1111
+ Gets specific header value.
1112
+
1113
+ ##### Example
1114
+
1115
+ ```ts
1116
+ const allHeaders = await engine.headers();
1117
+ const userAgent = await engine.headers('user-agent');
1118
+ await engine.headers({ 'x-custom': 'value' });
1119
+ await engine.headers('auth', 'token');
1120
+ ```
1121
+
1122
+ ##### Inherited from
1123
+
1124
+ [`FetchEngine`](FetchEngine.md).[`headers`](FetchEngine.md#headers)
1125
+
1126
+ #### Call Signature
1127
+
1128
+ > **headers**(`name`, `value`): `Promise`\<`boolean`\>
1129
+
1130
+ Defined in: [packages/web-fetcher/src/engine/base.ts:756](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L756)
1131
+
1132
+ Manages HTTP headers for requests with multiple overloads.
1133
+
1134
+ Gets all headers.
1135
+
1136
+ ##### Parameters
1137
+
1138
+ ###### name
1139
+
1140
+ `string`
1141
+
1142
+ Header name
1143
+
1144
+ ###### value
1145
+
1146
+ Header value or `null` to remove
1147
+
1148
+ `null` | `string`
1149
+
1150
+ ##### Returns
1151
+
1152
+ `Promise`\<`boolean`\>
1153
+
1154
+ All headers as record
1155
+
1156
+ Gets specific header value.
1157
+
1158
+ ##### Example
1159
+
1160
+ ```ts
1161
+ const allHeaders = await engine.headers();
1162
+ const userAgent = await engine.headers('user-agent');
1163
+ await engine.headers({ 'x-custom': 'value' });
1164
+ await engine.headers('auth', 'token');
1165
+ ```
1166
+
1167
+ ##### Inherited from
1168
+
1169
+ [`FetchEngine`](FetchEngine.md).[`headers`](FetchEngine.md#headers)
1170
+
1171
+ ***
1172
+
1173
+ ### initialize()
1174
+
1175
+ > **initialize**(`context`, `options?`): `Promise`\<`void`\>
1176
+
1177
+ Defined in: [packages/web-fetcher/src/engine/base.ts:488](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L488)
1178
+
1179
+ Initializes the fetch engine with provided context and options.
1180
+
1181
+ #### Parameters
1182
+
1183
+ ##### context
1184
+
1185
+ [`FetchEngineContext`](../interfaces/FetchEngineContext.md)
1186
+
1187
+ Fetch engine context
1188
+
1189
+ ##### options?
1190
+
1191
+ [`BaseFetcherProperties`](../interfaces/BaseFetcherProperties.md)
1192
+
1193
+ Configuration options
1194
+
1195
+ #### Returns
1196
+
1197
+ `Promise`\<`void`\>
1198
+
1199
+ Promise resolving when initialization completes
1200
+
1201
+ #### Remarks
1202
+
1203
+ Sets up internal state and calls implementation-specific [_initialize](file:///home/riceball/Documents/mywork/public/@isdk/ai-tools/packages/web-fetcher/src/engine/cheerio.ts#L169-L204) method.
1204
+ Automatically called when creating engine via `FetchEngine.create()`.
1205
+
1206
+ #### Inherited from
1207
+
1208
+ [`FetchEngine`](FetchEngine.md).[`initialize`](FetchEngine.md#initialize)
1209
+
1210
+ ***
1211
+
1212
+ ### pause()
1213
+
1214
+ > **pause**(`message?`): `Promise`\<`void`\>
1215
+
1216
+ Defined in: [packages/web-fetcher/src/engine/base.ts:400](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L400)
1217
+
1218
+ Pauses execution, allowing for manual intervention or inspection.
1219
+
1220
+ #### Parameters
1221
+
1222
+ ##### message?
1223
+
1224
+ `string`
1225
+
1226
+ Optional message to display during pause
1227
+
1228
+ #### Returns
1229
+
1230
+ `Promise`\<`void`\>
1231
+
1232
+ Promise resolving when execution is resumed
1233
+
1234
+ #### Throws
1235
+
1236
+ When no active page context exists
1237
+
1238
+ #### Inherited from
1239
+
1240
+ [`FetchEngine`](FetchEngine.md).[`pause`](FetchEngine.md#pause)
1241
+
1242
+ ***
1243
+
1244
+ ### submit()
1245
+
1246
+ > **submit**(`selector?`, `options?`): `Promise`\<`void`\>
1247
+
1248
+ Defined in: [packages/web-fetcher/src/engine/base.ts:389](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L389)
1249
+
1250
+ Submits a form.
1251
+
1252
+ #### Parameters
1253
+
1254
+ ##### selector?
1255
+
1256
+ `any`
1257
+
1258
+ Optional form/submit button selector
1259
+
1260
+ ##### options?
1261
+
1262
+ [`SubmitActionOptions`](../interfaces/SubmitActionOptions.md)
1263
+
1264
+ Submission options
1265
+
1266
+ #### Returns
1267
+
1268
+ `Promise`\<`void`\>
1269
+
1270
+ Promise resolving when form is submitted
1271
+
1272
+ #### Throws
1273
+
1274
+ When no active page context exists
1275
+
1276
+ #### Inherited from
1277
+
1278
+ [`FetchEngine`](FetchEngine.md).[`submit`](FetchEngine.md#submit)
1279
+
1280
+ ***
1281
+
1282
+ ### waitFor()
1283
+
1284
+ > **waitFor**(`params?`): `Promise`\<`void`\>
1285
+
1286
+ Defined in: [packages/web-fetcher/src/engine/base.ts:354](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L354)
1287
+
1288
+ Waits for specified condition before continuing.
1289
+
1290
+ #### Parameters
1291
+
1292
+ ##### params?
1293
+
1294
+ [`WaitForActionOptions`](../interfaces/WaitForActionOptions.md)
1295
+
1296
+ Wait conditions
1297
+
1298
+ #### Returns
1299
+
1300
+ `Promise`\<`void`\>
1301
+
1302
+ Promise resolving when wait condition is met
1303
+
1304
+ #### Example
1305
+
1306
+ ```ts
1307
+ await engine.waitFor({ ms: 1000 }); // Wait 1 second
1308
+ await engine.waitFor({ selector: '#content' }); // Wait for element
1309
+ ```
1310
+
1311
+ #### Inherited from
1312
+
1313
+ [`FetchEngine`](FetchEngine.md).[`waitFor`](FetchEngine.md#waitfor)
1314
+
1315
+ ***
1316
+
1317
+ ### create()
1318
+
1319
+ > `static` **create**(`ctx`, `options?`): `Promise`\<`undefined` \| `AnyFetchEngine`\>
1320
+
1321
+ Defined in: [packages/web-fetcher/src/engine/base.ts:198](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L198)
1322
+
1323
+ Factory method to create and initialize a fetch engine instance.
1324
+
1325
+ #### Parameters
1326
+
1327
+ ##### ctx
1328
+
1329
+ [`FetchEngineContext`](../interfaces/FetchEngineContext.md)
1330
+
1331
+ Fetch engine context
1332
+
1333
+ ##### options?
1334
+
1335
+ [`BaseFetcherProperties`](../interfaces/BaseFetcherProperties.md)
1336
+
1337
+ Configuration options
1338
+
1339
+ #### Returns
1340
+
1341
+ `Promise`\<`undefined` \| `AnyFetchEngine`\>
1342
+
1343
+ Initialized fetch engine instance
1344
+
1345
+ #### Throws
1346
+
1347
+ When no suitable engine implementation is found
1348
+
1349
+ #### Remarks
1350
+
1351
+ Primary entry point for engine creation. Selects appropriate implementation based on `engine` name of the option or context.
1352
+
1353
+ #### Inherited from
1354
+
1355
+ [`FetchEngine`](FetchEngine.md).[`create`](FetchEngine.md#create)
1356
+
1357
+ ***
1358
+
1359
+ ### get()
1360
+
1361
+ > `static` **get**(`id`): `undefined` \| `AnyFetchEngineCtor`
1362
+
1363
+ Defined in: [packages/web-fetcher/src/engine/base.ts:171](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L171)
1364
+
1365
+ Retrieves a fetch engine implementation by its unique ID.
1366
+
1367
+ #### Parameters
1368
+
1369
+ ##### id
1370
+
1371
+ `string`
1372
+
1373
+ The ID of the engine to retrieve
1374
+
1375
+ #### Returns
1376
+
1377
+ `undefined` \| `AnyFetchEngineCtor`
1378
+
1379
+ Engine class if found, otherwise `undefined`
1380
+
1381
+ #### Inherited from
1382
+
1383
+ [`FetchEngine`](FetchEngine.md).[`get`](FetchEngine.md#get)
1384
+
1385
+ ***
1386
+
1387
+ ### getByMode()
1388
+
1389
+ > `static` **getByMode**(`mode`): `undefined` \| `AnyFetchEngineCtor`
1390
+
1391
+ Defined in: [packages/web-fetcher/src/engine/base.ts:181](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L181)
1392
+
1393
+ Retrieves a fetch engine implementation by execution mode.
1394
+
1395
+ #### Parameters
1396
+
1397
+ ##### mode
1398
+
1399
+ [`FetchEngineType`](../type-aliases/FetchEngineType.md)
1400
+
1401
+ Execution mode (`'http'` or `'browser'`)
1402
+
1403
+ #### Returns
1404
+
1405
+ `undefined` \| `AnyFetchEngineCtor`
1406
+
1407
+ Engine class if found, otherwise `undefined`
1408
+
1409
+ #### Inherited from
1410
+
1411
+ [`FetchEngine`](FetchEngine.md).[`getByMode`](FetchEngine.md#getbymode)
1412
+
1413
+ ***
1414
+
1415
+ ### register()
1416
+
1417
+ > `static` **register**(`engineClass`): `void`
1418
+
1419
+ Defined in: [packages/web-fetcher/src/engine/base.ts:158](https://github.com/isdk/web-fetcher.js/blob/ef3a4e527bf3ca75213d55b02c017b9a30a036fd/src/engine/base.ts#L158)
1420
+
1421
+ Registers a fetch engine implementation with the global registry.
1422
+
1423
+ #### Parameters
1424
+
1425
+ ##### engineClass
1426
+
1427
+ `AnyFetchEngineCtor`
1428
+
1429
+ The engine class to register
1430
+
1431
+ #### Returns
1432
+
1433
+ `void`
1434
+
1435
+ #### Throws
1436
+
1437
+ When engine class lacks static `id` or ID is already registered
1438
+
1439
+ #### Example
1440
+
1441
+ ```ts
1442
+ FetchEngine.register(CheerioFetchEngine);
1443
+ ```
1444
+
1445
+ #### Inherited from
1446
+
1447
+ [`FetchEngine`](FetchEngine.md).[`register`](FetchEngine.md#register)