@crawlee/playwright 3.13.5 → 4.0.0-beta.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.
- package/index.d.ts +8 -8
- package/index.d.ts.map +1 -1
- package/index.js +7 -12
- package/index.js.map +1 -1
- package/internals/adaptive-playwright-crawler.d.ts +8 -11
- package/internals/adaptive-playwright-crawler.d.ts.map +1 -1
- package/internals/adaptive-playwright-crawler.js +48 -102
- package/internals/adaptive-playwright-crawler.js.map +1 -1
- package/internals/enqueue-links/click-elements.js +29 -35
- package/internals/enqueue-links/click-elements.js.map +1 -1
- package/internals/playwright-crawler.d.ts +2 -10
- package/internals/playwright-crawler.d.ts.map +1 -1
- package/internals/playwright-crawler.js +22 -41
- package/internals/playwright-crawler.js.map +1 -1
- package/internals/playwright-launcher.d.ts +0 -8
- package/internals/playwright-launcher.d.ts.map +1 -1
- package/internals/playwright-launcher.js +16 -31
- package/internals/playwright-launcher.js.map +1 -1
- package/internals/utils/playwright-utils.d.ts +4 -4
- package/internals/utils/playwright-utils.d.ts.map +1 -1
- package/internals/utils/playwright-utils.js +81 -93
- package/internals/utils/playwright-utils.js.map +1 -1
- package/internals/utils/rendering-type-prediction.js +11 -31
- package/internals/utils/rendering-type-prediction.js.map +1 -1
- package/package.json +20 -26
- package/tsconfig.build.tsbuildinfo +1 -1
- package/index.mjs +0 -104
package/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export * from '@crawlee/browser';
|
|
2
|
-
export * from './internals/playwright-crawler';
|
|
3
|
-
export * from './internals/playwright-launcher';
|
|
4
|
-
export * from './internals/adaptive-playwright-crawler';
|
|
5
|
-
export { RenderingTypePredictor } from './internals/utils/rendering-type-prediction';
|
|
6
|
-
export * as playwrightUtils from './internals/utils/playwright-utils';
|
|
7
|
-
export * as playwrightClickElements from './internals/enqueue-links/click-elements';
|
|
8
|
-
export type { DirectNavigationOptions as PlaywrightDirectNavigationOptions } from './internals/utils/playwright-utils';
|
|
9
|
-
export type { RenderingType } from './internals/utils/rendering-type-prediction';
|
|
2
|
+
export * from './internals/playwright-crawler.js';
|
|
3
|
+
export * from './internals/playwright-launcher.js';
|
|
4
|
+
export * from './internals/adaptive-playwright-crawler.js';
|
|
5
|
+
export { RenderingTypePredictor } from './internals/utils/rendering-type-prediction.js';
|
|
6
|
+
export * as playwrightUtils from './internals/utils/playwright-utils.js';
|
|
7
|
+
export * as playwrightClickElements from './internals/enqueue-links/click-elements.js';
|
|
8
|
+
export type { DirectNavigationOptions as PlaywrightDirectNavigationOptions } from './internals/utils/playwright-utils.js';
|
|
9
|
+
export type { RenderingType } from './internals/utils/rendering-type-prediction.js';
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
package/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,4CAA4C,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AAExF,OAAO,KAAK,eAAe,MAAM,uCAAuC,CAAC;AACzE,OAAO,KAAK,uBAAuB,MAAM,6CAA6C,CAAC;AACvF,YAAY,EAAE,uBAAuB,IAAI,iCAAiC,EAAE,MAAM,uCAAuC,CAAC;AAC1H,YAAY,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC"}
|
package/index.js
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
tslib_1.__exportStar(require("./internals/adaptive-playwright-crawler"), exports);
|
|
9
|
-
var rendering_type_prediction_1 = require("./internals/utils/rendering-type-prediction");
|
|
10
|
-
Object.defineProperty(exports, "RenderingTypePredictor", { enumerable: true, get: function () { return rendering_type_prediction_1.RenderingTypePredictor; } });
|
|
11
|
-
exports.playwrightUtils = tslib_1.__importStar(require("./internals/utils/playwright-utils"));
|
|
12
|
-
exports.playwrightClickElements = tslib_1.__importStar(require("./internals/enqueue-links/click-elements"));
|
|
1
|
+
export * from '@crawlee/browser';
|
|
2
|
+
export * from './internals/playwright-crawler.js';
|
|
3
|
+
export * from './internals/playwright-launcher.js';
|
|
4
|
+
export * from './internals/adaptive-playwright-crawler.js';
|
|
5
|
+
export { RenderingTypePredictor } from './internals/utils/rendering-type-prediction.js';
|
|
6
|
+
export * as playwrightUtils from './internals/utils/playwright-utils.js';
|
|
7
|
+
export * as playwrightClickElements from './internals/enqueue-links/click-elements.js';
|
|
13
8
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,4CAA4C,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AAExF,OAAO,KAAK,eAAe,MAAM,uCAAuC,CAAC;AACzE,OAAO,KAAK,uBAAuB,MAAM,6CAA6C,CAAC"}
|
|
@@ -3,13 +3,13 @@ import type { BaseHttpResponseData, GetUserDataFromRequest, RestrictedCrawlingCo
|
|
|
3
3
|
import { Configuration, RequestHandlerResult, Statistics } from '@crawlee/core';
|
|
4
4
|
import type { Awaitable, Dictionary } from '@crawlee/types';
|
|
5
5
|
import { type CheerioRoot } from '@crawlee/utils';
|
|
6
|
-
import { type Cheerio
|
|
6
|
+
import { type Cheerio } from 'cheerio';
|
|
7
7
|
// @ts-ignore optional peer dependency or compatibility with es2022
|
|
8
8
|
import type { Page } from 'playwright';
|
|
9
9
|
import type { Log } from '@apify/log';
|
|
10
|
-
import type { PlaywrightCrawlerOptions, PlaywrightCrawlingContext, PlaywrightGotoOptions } from './playwright-crawler';
|
|
11
|
-
import { PlaywrightCrawler } from './playwright-crawler';
|
|
12
|
-
import { RenderingTypePredictor } from './utils/rendering-type-prediction';
|
|
10
|
+
import type { PlaywrightCrawlerOptions, PlaywrightCrawlingContext, PlaywrightGotoOptions } from './playwright-crawler.js';
|
|
11
|
+
import { PlaywrightCrawler } from './playwright-crawler.js';
|
|
12
|
+
import { RenderingTypePredictor } from './utils/rendering-type-prediction.js';
|
|
13
13
|
type Result<TResult> = {
|
|
14
14
|
result: TResult;
|
|
15
15
|
ok: true;
|
|
@@ -46,7 +46,7 @@ export interface AdaptivePlaywrightCrawlerContext<UserData extends Dictionary =
|
|
|
46
46
|
* Wait for an element matching the selector to appear and return a Cheerio object of matched elements.
|
|
47
47
|
* Timeout defaults to 5s.
|
|
48
48
|
*/
|
|
49
|
-
querySelector(selector: string, timeoutMs?: number): Promise<Cheerio<
|
|
49
|
+
querySelector<T = any>(selector: string, timeoutMs?: number): Promise<Cheerio<T>>;
|
|
50
50
|
/**
|
|
51
51
|
* Wait for an element matching the selector to appear.
|
|
52
52
|
* Timeout defaults to 5s.
|
|
@@ -79,7 +79,7 @@ interface AdaptiveHook extends BrowserHook<Pick<AdaptivePlaywrightCrawlerContext
|
|
|
79
79
|
page?: Page;
|
|
80
80
|
}, PlaywrightGotoOptions> {
|
|
81
81
|
}
|
|
82
|
-
export interface AdaptivePlaywrightCrawlerOptions extends Omit<PlaywrightCrawlerOptions, 'requestHandler' | '
|
|
82
|
+
export interface AdaptivePlaywrightCrawlerOptions extends Omit<PlaywrightCrawlerOptions, 'requestHandler' | 'preNavigationHooks' | 'postNavigationHooks'> {
|
|
83
83
|
/**
|
|
84
84
|
* Function that is called to process each request.
|
|
85
85
|
*
|
|
@@ -117,14 +117,11 @@ export interface AdaptivePlaywrightCrawlerOptions extends Omit<PlaywrightCrawler
|
|
|
117
117
|
resultChecker?: (result: RequestHandlerResult) => boolean;
|
|
118
118
|
/**
|
|
119
119
|
* An optional callback used in rendering type detection. On each detection, the result of the plain HTTP run is compared to that of the browser one.
|
|
120
|
-
* If
|
|
121
|
-
* It the callback returns true or 'equal', the results are considered equal and the target site is considered static.
|
|
122
|
-
* If it returns false or 'different', the target site is considered client-rendered.
|
|
123
|
-
* If it returns 'inconclusive', the detection result won't be used.
|
|
120
|
+
* If the callback returns true, the results are considered equal and the target site is considered static.
|
|
124
121
|
* If no result comparator is specified, but there is a `resultChecker`, any site where the `resultChecker` returns true is considered static.
|
|
125
122
|
* If neither `resultComparator` nor `resultChecker` are specified, a deep comparison of returned dataset items is used as a default.
|
|
126
123
|
*/
|
|
127
|
-
resultComparator?: (resultA: RequestHandlerResult, resultB: RequestHandlerResult) => boolean
|
|
124
|
+
resultComparator?: (resultA: RequestHandlerResult, resultB: RequestHandlerResult) => boolean;
|
|
128
125
|
/**
|
|
129
126
|
* A custom rendering type predictor
|
|
130
127
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adaptive-playwright-crawler.d.ts","sourceRoot":"","sources":["../../src/internals/adaptive-playwright-crawler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAA0B,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE1G,OAAO,KAAK,EACR,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,EACzB,YAAY,EAEZ,iBAAiB,EACjB,cAAc,EACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAU,UAAU,EAA4B,MAAM,eAAe,CAAC;AAClH,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,KAAK,WAAW,EAA0B,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,KAAK,OAAO,
|
|
1
|
+
{"version":3,"file":"adaptive-playwright-crawler.d.ts","sourceRoot":"","sources":["../../src/internals/adaptive-playwright-crawler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const timeout_1 = require("@apify/timeout");
|
|
12
|
-
const playwright_crawler_1 = require("./playwright-crawler");
|
|
13
|
-
const rendering_type_prediction_1 = require("./utils/rendering-type-prediction");
|
|
14
|
-
class AdaptivePlaywrightCrawlerStatistics extends core_1.Statistics {
|
|
1
|
+
import { extractUrlsFromPage } from '@crawlee/browser';
|
|
2
|
+
import { Configuration, RequestHandlerResult, Router, Statistics, withCheckedStorageAccess } from '@crawlee/core';
|
|
3
|
+
import { extractUrlsFromCheerio } from '@crawlee/utils';
|
|
4
|
+
import { load } from 'cheerio';
|
|
5
|
+
import isEqual from 'lodash.isequal';
|
|
6
|
+
import { addTimeoutToPromise } from '@apify/timeout';
|
|
7
|
+
import { PlaywrightCrawler } from './playwright-crawler.js';
|
|
8
|
+
import { RenderingTypePredictor } from './utils/rendering-type-prediction.js';
|
|
9
|
+
class AdaptivePlaywrightCrawlerStatistics extends Statistics {
|
|
10
|
+
state = null; // this needs to be assigned for a valid override, but the initialization is done by a reset() call from the parent constructor
|
|
15
11
|
constructor(options = {}) {
|
|
16
12
|
super(options);
|
|
17
|
-
Object.defineProperty(this, "state", {
|
|
18
|
-
enumerable: true,
|
|
19
|
-
configurable: true,
|
|
20
|
-
writable: true,
|
|
21
|
-
value: null
|
|
22
|
-
}); // this needs to be assigned for a valid override, but the initialization is done by a reset() call from the parent constructor
|
|
23
13
|
this.reset();
|
|
24
14
|
}
|
|
25
15
|
reset() {
|
|
@@ -39,18 +29,15 @@ class AdaptivePlaywrightCrawlerStatistics extends core_1.Statistics {
|
|
|
39
29
|
this.state.renderingTypeMispredictions = savedState.renderingTypeMispredictions;
|
|
40
30
|
}
|
|
41
31
|
trackHttpOnlyRequestHandlerRun() {
|
|
42
|
-
|
|
43
|
-
(_a = this.state).httpOnlyRequestHandlerRuns ?? (_a.httpOnlyRequestHandlerRuns = 0);
|
|
32
|
+
this.state.httpOnlyRequestHandlerRuns ??= 0;
|
|
44
33
|
this.state.httpOnlyRequestHandlerRuns += 1;
|
|
45
34
|
}
|
|
46
35
|
trackBrowserRequestHandlerRun() {
|
|
47
|
-
|
|
48
|
-
(_a = this.state).browserRequestHandlerRuns ?? (_a.browserRequestHandlerRuns = 0);
|
|
36
|
+
this.state.browserRequestHandlerRuns ??= 0;
|
|
49
37
|
this.state.browserRequestHandlerRuns += 1;
|
|
50
38
|
}
|
|
51
39
|
trackRenderingTypeMisprediction() {
|
|
52
|
-
|
|
53
|
-
(_a = this.state).renderingTypeMispredictions ?? (_a.renderingTypeMispredictions = 0);
|
|
40
|
+
this.state.renderingTypeMispredictions ??= 0;
|
|
54
41
|
this.state.renderingTypeMispredictions += 1;
|
|
55
42
|
}
|
|
56
43
|
}
|
|
@@ -93,60 +80,26 @@ const proxyLogMethods = [
|
|
|
93
80
|
*
|
|
94
81
|
* @experimental
|
|
95
82
|
*/
|
|
96
|
-
class AdaptivePlaywrightCrawler extends
|
|
97
|
-
|
|
83
|
+
export class AdaptivePlaywrightCrawler extends PlaywrightCrawler {
|
|
84
|
+
config;
|
|
85
|
+
adaptiveRequestHandler;
|
|
86
|
+
renderingTypePredictor;
|
|
87
|
+
resultChecker;
|
|
88
|
+
resultComparator;
|
|
89
|
+
preventDirectStorageAccess;
|
|
90
|
+
/**
|
|
91
|
+
* Default {@link Router} instance that will be used if we don't specify any {@link AdaptivePlaywrightCrawlerOptions.requestHandler|`requestHandler`}.
|
|
92
|
+
* See {@link Router.addHandler|`router.addHandler()`} and {@link Router.addDefaultHandler|`router.addDefaultHandler()`}.
|
|
93
|
+
*/
|
|
94
|
+
// @ts-ignore
|
|
95
|
+
router = Router.create();
|
|
96
|
+
constructor(options = {}, config = Configuration.getGlobalConfig()) {
|
|
98
97
|
const { requestHandler, renderingTypeDetectionRatio = 0.1, renderingTypePredictor, resultChecker, resultComparator, statisticsOptions, preventDirectStorageAccess = true, ...rest } = options;
|
|
99
98
|
super(rest, config);
|
|
100
|
-
|
|
101
|
-
enumerable: true,
|
|
102
|
-
configurable: true,
|
|
103
|
-
writable: true,
|
|
104
|
-
value: config
|
|
105
|
-
});
|
|
106
|
-
Object.defineProperty(this, "adaptiveRequestHandler", {
|
|
107
|
-
enumerable: true,
|
|
108
|
-
configurable: true,
|
|
109
|
-
writable: true,
|
|
110
|
-
value: void 0
|
|
111
|
-
});
|
|
112
|
-
Object.defineProperty(this, "renderingTypePredictor", {
|
|
113
|
-
enumerable: true,
|
|
114
|
-
configurable: true,
|
|
115
|
-
writable: true,
|
|
116
|
-
value: void 0
|
|
117
|
-
});
|
|
118
|
-
Object.defineProperty(this, "resultChecker", {
|
|
119
|
-
enumerable: true,
|
|
120
|
-
configurable: true,
|
|
121
|
-
writable: true,
|
|
122
|
-
value: void 0
|
|
123
|
-
});
|
|
124
|
-
Object.defineProperty(this, "resultComparator", {
|
|
125
|
-
enumerable: true,
|
|
126
|
-
configurable: true,
|
|
127
|
-
writable: true,
|
|
128
|
-
value: void 0
|
|
129
|
-
});
|
|
130
|
-
Object.defineProperty(this, "preventDirectStorageAccess", {
|
|
131
|
-
enumerable: true,
|
|
132
|
-
configurable: true,
|
|
133
|
-
writable: true,
|
|
134
|
-
value: void 0
|
|
135
|
-
});
|
|
136
|
-
/**
|
|
137
|
-
* Default {@link Router} instance that will be used if we don't specify any {@link AdaptivePlaywrightCrawlerOptions.requestHandler|`requestHandler`}.
|
|
138
|
-
* See {@link Router.addHandler|`router.addHandler()`} and {@link Router.addDefaultHandler|`router.addDefaultHandler()`}.
|
|
139
|
-
*/
|
|
140
|
-
// @ts-ignore
|
|
141
|
-
Object.defineProperty(this, "router", {
|
|
142
|
-
enumerable: true,
|
|
143
|
-
configurable: true,
|
|
144
|
-
writable: true,
|
|
145
|
-
value: core_1.Router.create()
|
|
146
|
-
});
|
|
99
|
+
this.config = config;
|
|
147
100
|
this.adaptiveRequestHandler = requestHandler ?? this.router;
|
|
148
101
|
this.renderingTypePredictor =
|
|
149
|
-
renderingTypePredictor ?? new
|
|
102
|
+
renderingTypePredictor ?? new RenderingTypePredictor({ detectionRatio: renderingTypeDetectionRatio });
|
|
150
103
|
this.resultChecker = resultChecker ?? (() => true);
|
|
151
104
|
if (resultComparator !== undefined) {
|
|
152
105
|
this.resultComparator = resultComparator;
|
|
@@ -159,7 +112,7 @@ class AdaptivePlaywrightCrawler extends playwright_crawler_1.PlaywrightCrawler {
|
|
|
159
112
|
return (resultA.datasetItems.length === resultB.datasetItems.length &&
|
|
160
113
|
resultA.datasetItems.every((itemA, i) => {
|
|
161
114
|
const itemB = resultB.datasetItems[i];
|
|
162
|
-
return (
|
|
115
|
+
return isEqual(itemA, itemB);
|
|
163
116
|
}));
|
|
164
117
|
};
|
|
165
118
|
}
|
|
@@ -212,19 +165,13 @@ class AdaptivePlaywrightCrawler extends playwright_crawler_1.PlaywrightCrawler {
|
|
|
212
165
|
if (!plainHTTPRun.ok) {
|
|
213
166
|
return 'clientOnly';
|
|
214
167
|
}
|
|
215
|
-
|
|
216
|
-
if (comparisonResult === true || comparisonResult === 'equal') {
|
|
168
|
+
if (this.resultComparator(plainHTTPRun.result, browserRun.result)) {
|
|
217
169
|
return 'static';
|
|
218
170
|
}
|
|
219
|
-
|
|
220
|
-
return 'clientOnly';
|
|
221
|
-
}
|
|
222
|
-
return undefined;
|
|
171
|
+
return 'clientOnly';
|
|
223
172
|
})();
|
|
224
173
|
crawlingContext.log.debug(`Detected rendering type ${detectionResult} for ${crawlingContext.request.url}`);
|
|
225
|
-
|
|
226
|
-
this.renderingTypePredictor.storeResult(crawlingContext.request, detectionResult);
|
|
227
|
-
}
|
|
174
|
+
this.renderingTypePredictor.storeResult(crawlingContext.request, detectionResult);
|
|
228
175
|
}
|
|
229
176
|
}
|
|
230
177
|
async commitResult(crawlingContext, { calls, keyValueStoreChanges }) {
|
|
@@ -239,16 +186,16 @@ class AdaptivePlaywrightCrawler extends playwright_crawler_1.PlaywrightCrawler {
|
|
|
239
186
|
]);
|
|
240
187
|
}
|
|
241
188
|
allowStorageAccess(func) {
|
|
242
|
-
return async (...args) =>
|
|
189
|
+
return async (...args) => withCheckedStorageAccess(() => { }, async () => func(...args));
|
|
243
190
|
}
|
|
244
191
|
async runRequestHandlerInBrowser(crawlingContext) {
|
|
245
|
-
const result = new
|
|
192
|
+
const result = new RequestHandlerResult(this.config, AdaptivePlaywrightCrawler.CRAWLEE_STATE_KEY);
|
|
246
193
|
let initialStateCopy;
|
|
247
194
|
try {
|
|
248
195
|
await super._runRequestHandler.call(new Proxy(this, {
|
|
249
196
|
get: (target, propertyName, receiver) => {
|
|
250
197
|
if (propertyName === 'userProvidedRequestHandler') {
|
|
251
|
-
return async (playwrightContext) =>
|
|
198
|
+
return async (playwrightContext) => withCheckedStorageAccess(() => {
|
|
252
199
|
if (this.preventDirectStorageAccess) {
|
|
253
200
|
throw new Error('Directly accessing storage in a request handler is not allowed in AdaptivePlaywrightCrawler');
|
|
254
201
|
}
|
|
@@ -267,28 +214,28 @@ class AdaptivePlaywrightCrawler extends playwright_crawler_1.PlaywrightCrawler {
|
|
|
267
214
|
},
|
|
268
215
|
log: crawlingContext.log,
|
|
269
216
|
page: crawlingContext.page,
|
|
270
|
-
querySelector: async (selector, timeoutMs =
|
|
217
|
+
querySelector: async (selector, timeoutMs = 5_000) => {
|
|
271
218
|
const locator = playwrightContext.page.locator(selector).first();
|
|
272
219
|
await locator.waitFor({ timeout: timeoutMs, state: 'attached' });
|
|
273
220
|
const $ = await playwrightContext.parseWithCheerio();
|
|
274
221
|
return $(selector);
|
|
275
222
|
},
|
|
276
|
-
async waitForSelector(selector, timeoutMs =
|
|
223
|
+
async waitForSelector(selector, timeoutMs = 5_000) {
|
|
277
224
|
const locator = playwrightContext.page.locator(selector).first();
|
|
278
225
|
await locator.waitFor({ timeout: timeoutMs, state: 'attached' });
|
|
279
226
|
},
|
|
280
|
-
async parseWithCheerio(selector, timeoutMs =
|
|
227
|
+
async parseWithCheerio(selector, timeoutMs = 5_000) {
|
|
281
228
|
if (selector) {
|
|
282
229
|
const locator = playwrightContext.page.locator(selector).first();
|
|
283
230
|
await locator.waitFor({ timeout: timeoutMs, state: 'attached' });
|
|
284
231
|
}
|
|
285
232
|
return playwrightContext.parseWithCheerio();
|
|
286
233
|
},
|
|
287
|
-
async enqueueLinks(options = {}, timeoutMs =
|
|
234
|
+
async enqueueLinks(options = {}, timeoutMs = 5_000) {
|
|
288
235
|
const selector = options.selector ?? 'a';
|
|
289
236
|
const locator = playwrightContext.page.locator(selector).first();
|
|
290
237
|
await locator.waitFor({ timeout: timeoutMs, state: 'attached' });
|
|
291
|
-
const urls = await
|
|
238
|
+
const urls = await extractUrlsFromPage(playwrightContext.page, selector, options.baseUrl ??
|
|
292
239
|
playwrightContext.request.loadedUrl ??
|
|
293
240
|
playwrightContext.request.url);
|
|
294
241
|
await result.enqueueLinks({ ...options, urls });
|
|
@@ -315,15 +262,15 @@ class AdaptivePlaywrightCrawler extends playwright_crawler_1.PlaywrightCrawler {
|
|
|
315
262
|
}
|
|
316
263
|
}
|
|
317
264
|
async runRequestHandlerWithPlainHTTP(crawlingContext, oldStateCopy) {
|
|
318
|
-
const result = new
|
|
265
|
+
const result = new RequestHandlerResult(this.config, AdaptivePlaywrightCrawler.CRAWLEE_STATE_KEY);
|
|
319
266
|
const logs = [];
|
|
320
267
|
const pageGotoOptions = { timeout: this.navigationTimeoutMillis }; // Irrelevant, but required by BrowserCrawler
|
|
321
268
|
try {
|
|
322
|
-
await
|
|
269
|
+
await withCheckedStorageAccess(() => {
|
|
323
270
|
if (this.preventDirectStorageAccess) {
|
|
324
271
|
throw new Error('Directly accessing storage in a request handler is not allowed in AdaptivePlaywrightCrawler');
|
|
325
272
|
}
|
|
326
|
-
}, async () =>
|
|
273
|
+
}, async () => addTimeoutToPromise(async () => {
|
|
327
274
|
const hookContext = {
|
|
328
275
|
id: crawlingContext.id,
|
|
329
276
|
session: crawlingContext.session,
|
|
@@ -341,7 +288,7 @@ class AdaptivePlaywrightCrawler extends playwright_crawler_1.PlaywrightCrawler {
|
|
|
341
288
|
const response = await crawlingContext.sendRequest({});
|
|
342
289
|
const loadedUrl = response.url;
|
|
343
290
|
crawlingContext.request.loadedUrl = loadedUrl;
|
|
344
|
-
const $ =
|
|
291
|
+
const $ = load(response.body);
|
|
345
292
|
await this.adaptiveRequestHandler({
|
|
346
293
|
...hookContext,
|
|
347
294
|
request: crawlingContext.request,
|
|
@@ -364,7 +311,7 @@ class AdaptivePlaywrightCrawler extends playwright_crawler_1.PlaywrightCrawler {
|
|
|
364
311
|
return $;
|
|
365
312
|
},
|
|
366
313
|
async enqueueLinks(options = {}) {
|
|
367
|
-
const urls =
|
|
314
|
+
const urls = extractUrlsFromCheerio($, options.selector, options.baseUrl ?? loadedUrl);
|
|
368
315
|
await result.enqueueLinks({ ...options, urls });
|
|
369
316
|
},
|
|
370
317
|
addRequests: result.addRequests,
|
|
@@ -400,8 +347,7 @@ class AdaptivePlaywrightCrawler extends playwright_crawler_1.PlaywrightCrawler {
|
|
|
400
347
|
});
|
|
401
348
|
}
|
|
402
349
|
}
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
return core_1.Router.create(routes);
|
|
350
|
+
export function createAdaptivePlaywrightRouter(routes) {
|
|
351
|
+
return Router.create(routes);
|
|
406
352
|
}
|
|
407
353
|
//# sourceMappingURL=adaptive-playwright-crawler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adaptive-playwright-crawler.js","sourceRoot":"","sources":["../../src/internals/adaptive-playwright-crawler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adaptive-playwright-crawler.js","sourceRoot":"","sources":["../../src/internals/adaptive-playwright-crawler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAUvD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAElH,OAAO,EAAoB,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAgB,IAAI,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,OAAO,MAAM,gBAAgB,CAAC;AAIrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAOrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAsB,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAkBlG,MAAM,mCAAoC,SAAQ,UAAU;IAC/C,KAAK,GAA4C,IAAW,CAAC,CAAC,+HAA+H;IAEtM,YAAY,UAA6B,EAAE;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IAEQ,KAAK;QACV,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,IAAI,CAAC,KAAK,CAAC,0BAA0B,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,yBAAyB,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,2BAA2B,GAAG,CAAC,CAAC;IAC/C,CAAC;IAEkB,KAAK,CAAC,oBAAoB;QACzC,MAAM,KAAK,CAAC,oBAAoB,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,QAAQ,CACjD,IAAI,CAAC,eAAe,CACvB,CAAC;QAEF,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO;QACX,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,0BAA0B,GAAG,UAAU,CAAC,0BAA0B,CAAC;QAC9E,IAAI,CAAC,KAAK,CAAC,yBAAyB,GAAG,UAAU,CAAC,yBAAyB,CAAC;QAC5E,IAAI,CAAC,KAAK,CAAC,2BAA2B,GAAG,UAAU,CAAC,2BAA2B,CAAC;IACpF,CAAC;IAED,8BAA8B;QAC1B,IAAI,CAAC,KAAK,CAAC,0BAA0B,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,0BAA0B,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,6BAA6B;QACzB,IAAI,CAAC,KAAK,CAAC,yBAAyB,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,yBAAyB,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,+BAA+B;QAC3B,IAAI,CAAC,KAAK,CAAC,2BAA2B,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,CAAC,2BAA2B,IAAI,CAAC,CAAC;IAChD,CAAC;CACJ;AAsHD,MAAM,eAAe,GAAG;IACpB,OAAO;IACP,WAAW;IACX,UAAU;IACV,MAAM;IACN,OAAO;IACP,MAAM;IACN,aAAa;IACb,YAAY;CACN,CAAC;AAIX;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,OAAO,yBAA0B,SAAQ,iBAAiB;IAkBtC;IAjBd,sBAAsB,CAA0D;IAChF,sBAAsB,CAA0E;IAChG,aAAa,CAAiE;IAC9E,gBAAgB,CAAoE;IACpF,0BAA0B,CAAU;IAG5C;;;OAGG;IACH,aAAa;IACK,MAAM,GACpB,MAAM,CAAC,MAAM,EAAoC,CAAC;IAEtD,YACI,UAA4C,EAAE,EAC5B,SAAS,aAAa,CAAC,eAAe,EAAE;QAE1D,MAAM,EACF,cAAc,EACd,2BAA2B,GAAG,GAAG,EACjC,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,0BAA0B,GAAG,IAAI,EACjC,GAAG,IAAI,EACV,GAAG,OAAO,CAAC;QAEZ,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAbF,WAAM,GAAN,MAAM,CAAkC;QAc1D,IAAI,CAAC,sBAAsB,GAAG,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC;QAC5D,IAAI,CAAC,sBAAsB;YACvB,sBAAsB,IAAI,IAAI,sBAAsB,CAAC,EAAE,cAAc,EAAE,2BAA2B,EAAE,CAAC,CAAC;QAC1G,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAEnD,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAC7C,CAAC;aAAM,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,gBAAgB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC7G,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,gBAAgB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;gBACzC,OAAO,CACH,OAAO,CAAC,YAAY,CAAC,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,MAAM;oBAC3D,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;wBACpC,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;wBACtC,OAAO,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBACjC,CAAC,CAAC,CACL,CAAC;YACN,CAAC,CAAC;QACN,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,mCAAmC,CAAC;YACjD,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,MAAM,sBAAsB;YACjE,MAAM;YACN,GAAG,iBAAiB;SACvB,CAAC,CAAC;QAEH,IAAI,CAAC,0BAA0B,GAAG,0BAA0B,CAAC;IACjE,CAAC;IAEkB,KAAK,CAAC,kBAAkB,CAAC,eAA0C;QAClF,MAAM,uBAAuB,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC7F,MAAM,yBAAyB,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,uBAAuB,CAAC,kCAAkC,CAAC;QAE7G,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAC7B,eAAe,CAAC,GAAG,CAAC,KAAK,CACrB,4BAA4B,uBAAuB,CAAC,aAAa,QAAQ,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CACzG,CAAC;QACN,CAAC;QAED,IAAI,uBAAuB,CAAC,aAAa,KAAK,QAAQ,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACnF,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,yCAAyC,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAClG,IAAI,CAAC,KAAK,CAAC,8BAA8B,EAAE,CAAC;YAE5C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,eAAe,CAAC,CAAC;YAEhF,IAAI,YAAY,CAAC,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7D,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,2CAA2C,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;gBACpG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAI,IAAmB,CAAC,CAAC,CAAC;gBAC7F,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC9D,OAAO;YACX,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;gBACnB,eAAe,CAAC,GAAG,CAAC,SAAS,CACzB,YAAY,CAAC,KAAc,EAC3B,wCAAwC,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CACxE,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,eAAe,CAAC,GAAG,CAAC,OAAO,CACvB,8DAA8D,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAC9F,CAAC;gBACF,IAAI,CAAC,KAAK,CAAC,+BAA+B,EAAE,CAAC;YACjD,CAAC;QACL,CAAC;QAED,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,uCAAuC,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAChG,IAAI,CAAC,KAAK,CAAC,6BAA6B,EAAE,CAAC;QAE3C,qGAAqG;QACrG,oGAAoG;QACpG,oGAAoG;QACpG,wEAAwE;QACxE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,eAAe,CAAC,CAAC;QAExG,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,UAAU,CAAC,KAAK,CAAC;QAC3B,CAAC;QAED,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAE5D,IAAI,yBAAyB,EAAE,CAAC;YAC5B,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACzF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;YAElG,MAAM,eAAe,GAAkB,CAAC,GAAG,EAAE;gBACzC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;oBACnB,OAAO,YAAY,CAAC;gBACxB,CAAC;gBAED,IAAI,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBAChE,OAAO,QAAQ,CAAC;gBACpB,CAAC;gBAED,OAAO,YAAY,CAAC;YACxB,CAAC,CAAC,EAAE,CAAC;YAEL,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,2BAA2B,eAAe,QAAQ,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC3G,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACtF,CAAC;IACL,CAAC;IAES,KAAK,CAAC,YAAY,CACxB,eAA0C,EAC1C,EAAE,KAAK,EAAE,oBAAoB,EAAwB;QAErD,MAAM,OAAO,CAAC,GAAG,CAAC;YACd,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,CAAC;YAC5E,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,eAAe,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,CAAC;YAC1F,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,CAAC;YAClF,GAAG,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,EAAE,EAAE;gBAC3E,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;gBACpE,MAAM,OAAO,CAAC,GAAG,CACb,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CACnE,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,CAC7C,CACJ,CAAC;YACN,CAAC,CAAC;SACL,CAAC,CAAC;IACP,CAAC;IAES,kBAAkB,CACxB,IAAoC;QAEpC,OAAO,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE,CAC5B,wBAAwB,CACpB,GAAG,EAAE,GAAE,CAAC,EACR,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAC5B,CAAC;IACV,CAAC;IAES,KAAK,CAAC,0BAA0B,CACtC,eAA0C;QAE1C,MAAM,MAAM,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,yBAAyB,CAAC,iBAAiB,CAAC,CAAC;QAClG,IAAI,gBAAqD,CAAC;QAE1D,IAAI,CAAC;YACD,MAAM,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAC/B,IAAI,KAAK,CAAC,IAAI,EAAE;gBACZ,GAAG,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE;oBACpC,IAAI,YAAY,KAAK,4BAA4B,EAAE,CAAC;wBAChD,OAAO,KAAK,EAAE,iBAA4C,EAAE,EAAE,CAC1D,wBAAwB,CACpB,GAAG,EAAE;4BACD,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAC;gCAClC,MAAM,IAAI,KAAK,CACX,6FAA6F,CAChG,CAAC;4BACN,CAAC;wBACL,CAAC,EACD,GAAG,EAAE,CACD,IAAI,CAAC,sBAAsB,CAAC;4BACxB,EAAE,EAAE,eAAe,CAAC,EAAE;4BACtB,OAAO,EAAE,eAAe,CAAC,OAAO;4BAChC,SAAS,EAAE,eAAe,CAAC,SAAS;4BACpC,OAAO,EAAE,eAAe,CAAC,OAAiC;4BAC1D,QAAQ,EAAE;gCACN,GAAG,EAAE,eAAe,CAAC,QAAS,CAAC,GAAG,EAAE;gCACpC,UAAU,EAAE,eAAe,CAAC,QAAS,CAAC,MAAM,EAAE;gCAC9C,OAAO,EAAE,eAAe,CAAC,QAAS,CAAC,OAAO,EAAE;gCAC5C,QAAQ,EAAE,EAAE;gCACZ,QAAQ,EAAE,IAAI;gCACd,YAAY,EAAE,EAAE;6BACnB;4BACD,GAAG,EAAE,eAAe,CAAC,GAAG;4BACxB,IAAI,EAAE,eAAe,CAAC,IAAI;4BAC1B,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,GAAG,KAAK,EAAE,EAAE;gCACjD,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;gCACjE,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;gCACjE,MAAM,CAAC,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;gCAErD,OAAO,CAAC,CAAC,QAAQ,CAAiB,CAAC;4BACvC,CAAC;4BACD,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,SAAS,GAAG,KAAK;gCAC7C,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;gCACjE,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;4BACrE,CAAC;4BACD,KAAK,CAAC,gBAAgB,CAClB,QAAiB,EACjB,SAAS,GAAG,KAAK;gCAEjB,IAAI,QAAQ,EAAE,CAAC;oCACX,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;oCACjE,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;gCACrE,CAAC;gCAED,OAAO,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;4BAChD,CAAC;4BACD,KAAK,CAAC,YAAY,CAAC,OAAO,GAAG,EAAE,EAAE,SAAS,GAAG,KAAK;gCAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC;gCACzC,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;gCACjE,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;gCAEjE,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAClC,iBAAiB,CAAC,IAAI,EACtB,QAAQ,EACR,OAAO,CAAC,OAAO;oCACX,iBAAiB,CAAC,OAAO,CAAC,SAAS;oCACnC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CACpC,CAAC;gCACF,MAAM,MAAM,CAAC,YAAY,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;4BACpD,CAAC;4BACD,WAAW,EAAE,MAAM,CAAC,WAAW;4BAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;4BACzB,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;gCACrD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gCAClD,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;oCACjC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gCACzD,CAAC;gCACD,OAAO,KAAK,CAAC;4BACjB,CAAC,CAAC;4BACF,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,gBAAgB,CAAC;yBACrE,CAAC,CACT,CAAC;oBACV,CAAC;oBACD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;gBACvD,CAAC;aACJ,CAAC,EACF,eAAe,CAClB,CAAC;YACF,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,gBAAgB,EAAE,CAAC;QAC9D,CAAC;IACL,CAAC;IAES,KAAK,CAAC,8BAA8B,CAC1C,eAA0C,EAC1C,YAAyB;QAEzB,MAAM,MAAM,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,yBAAyB,CAAC,iBAAiB,CAAC,CAAC;QAClG,MAAM,IAAI,GAAmB,EAAE,CAAC;QAEhC,MAAM,eAAe,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC,6CAA6C;QAEhH,IAAI,CAAC;YACD,MAAM,wBAAwB,CAC1B,GAAG,EAAE;gBACD,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAC;oBAClC,MAAM,IAAI,KAAK,CACX,6FAA6F,CAChG,CAAC;gBACN,CAAC;YACL,CAAC,EACD,KAAK,IAAI,EAAE,CACP,mBAAmB,CACf,KAAK,IAAI,EAAE;gBACP,MAAM,WAAW,GAAgC;oBAC7C,EAAE,EAAE,eAAe,CAAC,EAAE;oBACtB,OAAO,EAAE,eAAe,CAAC,OAAO;oBAChC,SAAS,EAAE,eAAe,CAAC,SAAS;oBACpC,OAAO,EAAE,eAAe,CAAC,OAAO;oBAChC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC;iBACtD,CAAC;gBAEF,MAAM,IAAI,CAAC,aAAa,CACpB,IAAI,CAAC,kBAAkB,EACvB;oBACI,GAAG,WAAW;oBACd,IAAI,IAAI;wBACJ,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;oBAC7E,CAAC;iBACyB,EAAE,4GAA4G;gBAC5I,eAAe,CAClB,CAAC;gBAEF,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBACvD,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC;gBAC/B,eAAe,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC9C,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAE9B,MAAM,IAAI,CAAC,sBAAsB,CAAC;oBAC9B,GAAG,WAAW;oBACd,OAAO,EAAE,eAAe,CAAC,OAAiC;oBAC1D,QAAQ;oBACR,IAAI,IAAI;wBACJ,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;oBACzE,CAAC;oBACD,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,UAAmB;wBAC7C,OAAO,CAAC,CAAC,QAAQ,CAAiB,CAAC;oBACvC,CAAC;oBACD,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAmB;wBAC/C,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BACjC,MAAM,IAAI,KAAK,CAAC,aAAa,QAAQ,cAAc,CAAC,CAAC;wBACzD,CAAC;oBACL,CAAC;oBACD,KAAK,CAAC,gBAAgB,CAAC,QAAiB,EAAE,UAAmB;wBACzD,IAAI,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BAC7C,MAAM,IAAI,KAAK,CAAC,aAAa,QAAQ,cAAc,CAAC,CAAC;wBACzD,CAAC;wBAED,OAAO,CAAC,CAAC;oBACb,CAAC;oBACD,KAAK,CAAC,YAAY,CACd,UAAoE,EAAE;wBAEtE,MAAM,IAAI,GAAG,sBAAsB,CAC/B,CAAC,EACD,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,OAAO,IAAI,SAAS,CAC/B,CAAC;wBACF,MAAM,MAAM,CAAC,YAAY,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;oBACpD,CAAC;oBACD,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;wBAC7B,+DAA+D;wBAC/D,oDAAoD;wBACpD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;4BAC7B,OAAO,YAAY,IAAI,YAAY,CAAC,CAAC,qCAAqC;wBAC9E,CAAC;wBAED,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC;oBAClE,CAAC;oBACD,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,gBAAgB,CAAC;iBACrE,CAAC,CAAC;gBAEH,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,mBAAmB,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;YACzF,CAAC,EACD,IAAI,CAAC,gCAAgC,EACrC,2BAA2B,CAC9B,CACR,CAAC;YAEF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QACtC,CAAC;IACL,CAAC;IAEO,cAAc,CAAC,GAAQ,EAAE,IAAoB;QACjD,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE;YAClB,GAAG,CAAC,MAAW,EAAE,YAA8C,EAAE,QAAa;gBAC1E,IAAI,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;oBACzC,OAAO,CAAC,GAAG,IAAe,EAAE,EAAE;wBAC1B,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;oBAC/C,CAAC,CAAC;gBACN,CAAC;gBACD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;YACvD,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;CACJ;AAED,MAAM,UAAU,8BAA8B,CAG5C,MAAwC;IACtC,OAAO,MAAM,CAAC,MAAM,CAAU,MAAM,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -1,15 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
exports.clickElements = clickElements;
|
|
6
|
-
const tslib_1 = require("tslib");
|
|
7
|
-
const node_url_1 = require("node:url");
|
|
8
|
-
const browser_1 = require("@crawlee/browser");
|
|
9
|
-
const ow_1 = tslib_1.__importDefault(require("ow"));
|
|
10
|
-
const log_1 = tslib_1.__importDefault(require("@apify/log"));
|
|
1
|
+
import { URL } from 'node:url';
|
|
2
|
+
import { constructGlobObjectsFromGlobs, constructRegExpObjectsFromPseudoUrls, constructRegExpObjectsFromRegExps, createRequestOptions, createRequests, } from '@crawlee/browser';
|
|
3
|
+
import ow from 'ow';
|
|
4
|
+
import log_ from '@apify/log';
|
|
11
5
|
const STARTING_Z_INDEX = 2147400000;
|
|
12
|
-
const log =
|
|
6
|
+
const log = log_.child({ prefix: 'Playwright Click Elements' });
|
|
13
7
|
/**
|
|
14
8
|
* The function finds elements matching a specific CSS selector in a Playwright page,
|
|
15
9
|
* clicks all those elements using a mouse move and a left mouse button click and intercepts
|
|
@@ -51,22 +45,22 @@ const log = log_1.default.child({ prefix: 'Playwright Click Elements' });
|
|
|
51
45
|
*
|
|
52
46
|
* @returns Promise that resolves to {@link BatchAddRequestsResult} object.
|
|
53
47
|
*/
|
|
54
|
-
async function enqueueLinksByClickingElements(options) {
|
|
55
|
-
(
|
|
56
|
-
page:
|
|
57
|
-
requestQueue:
|
|
58
|
-
selector:
|
|
59
|
-
userData:
|
|
60
|
-
clickOptions:
|
|
61
|
-
pseudoUrls:
|
|
62
|
-
globs:
|
|
63
|
-
regexps:
|
|
64
|
-
transformRequestFunction:
|
|
65
|
-
waitForPageIdleSecs:
|
|
66
|
-
maxWaitForPageIdleSecs:
|
|
67
|
-
label:
|
|
68
|
-
forefront:
|
|
69
|
-
skipNavigation:
|
|
48
|
+
export async function enqueueLinksByClickingElements(options) {
|
|
49
|
+
ow(options, ow.object.exactShape({
|
|
50
|
+
page: ow.object.hasKeys('goto', 'evaluate'),
|
|
51
|
+
requestQueue: ow.object.hasKeys('fetchNextRequest', 'addRequest'),
|
|
52
|
+
selector: ow.string,
|
|
53
|
+
userData: ow.optional.object,
|
|
54
|
+
clickOptions: ow.optional.object.hasKeys('clickCount', 'delay'),
|
|
55
|
+
pseudoUrls: ow.optional.array.ofType(ow.any(ow.string, ow.object.hasKeys('purl'))),
|
|
56
|
+
globs: ow.optional.array.ofType(ow.any(ow.string, ow.object.hasKeys('glob'))),
|
|
57
|
+
regexps: ow.optional.array.ofType(ow.any(ow.regExp, ow.object.hasKeys('regexp'))),
|
|
58
|
+
transformRequestFunction: ow.optional.function,
|
|
59
|
+
waitForPageIdleSecs: ow.optional.number,
|
|
60
|
+
maxWaitForPageIdleSecs: ow.optional.number,
|
|
61
|
+
label: ow.optional.string,
|
|
62
|
+
forefront: ow.optional.boolean,
|
|
63
|
+
skipNavigation: ow.optional.boolean,
|
|
70
64
|
}));
|
|
71
65
|
const { page, requestQueue, selector, clickOptions, pseudoUrls, globs, regexps, transformRequestFunction, waitForPageIdleSecs = 1, maxWaitForPageIdleSecs = 5, forefront, } = options;
|
|
72
66
|
const waitForPageIdleMillis = waitForPageIdleSecs * 1000;
|
|
@@ -74,13 +68,13 @@ async function enqueueLinksByClickingElements(options) {
|
|
|
74
68
|
const urlPatternObjects = [];
|
|
75
69
|
if (pseudoUrls?.length) {
|
|
76
70
|
log.deprecated('`pseudoUrls` option is deprecated, use `globs` or `regexps` instead');
|
|
77
|
-
urlPatternObjects.push(...
|
|
71
|
+
urlPatternObjects.push(...constructRegExpObjectsFromPseudoUrls(pseudoUrls));
|
|
78
72
|
}
|
|
79
73
|
if (globs?.length) {
|
|
80
|
-
urlPatternObjects.push(...
|
|
74
|
+
urlPatternObjects.push(...constructGlobObjectsFromGlobs(globs));
|
|
81
75
|
}
|
|
82
76
|
if (regexps?.length) {
|
|
83
|
-
urlPatternObjects.push(...
|
|
77
|
+
urlPatternObjects.push(...constructRegExpObjectsFromRegExps(regexps));
|
|
84
78
|
}
|
|
85
79
|
const interceptedRequests = await clickElementsAndInterceptNavigationRequests({
|
|
86
80
|
page,
|
|
@@ -89,11 +83,11 @@ async function enqueueLinksByClickingElements(options) {
|
|
|
89
83
|
maxWaitForPageIdleMillis,
|
|
90
84
|
clickOptions,
|
|
91
85
|
});
|
|
92
|
-
let requestOptions =
|
|
86
|
+
let requestOptions = createRequestOptions(interceptedRequests, options);
|
|
93
87
|
if (transformRequestFunction) {
|
|
94
88
|
requestOptions = requestOptions.map(transformRequestFunction).filter((r) => !!r);
|
|
95
89
|
}
|
|
96
|
-
const requests =
|
|
90
|
+
const requests = createRequests(requestOptions, urlPatternObjects);
|
|
97
91
|
const { addedRequests } = await requestQueue.addRequestsBatched(requests, { forefront });
|
|
98
92
|
return { processedRequests: addedRequests, unprocessedRequests: [] };
|
|
99
93
|
}
|
|
@@ -103,7 +97,7 @@ async function enqueueLinksByClickingElements(options) {
|
|
|
103
97
|
* Returns a list of all target URLs.
|
|
104
98
|
* @ignore
|
|
105
99
|
*/
|
|
106
|
-
async function clickElementsAndInterceptNavigationRequests(options) {
|
|
100
|
+
export async function clickElementsAndInterceptNavigationRequests(options) {
|
|
107
101
|
const { page, selector, waitForPageIdleMillis, maxWaitForPageIdleMillis, clickOptions } = options;
|
|
108
102
|
const uniqueRequests = new Set();
|
|
109
103
|
const context = page.context();
|
|
@@ -227,7 +221,7 @@ function updateElementCssToEnableMouseClick(el, zIndex) {
|
|
|
227
221
|
* for large element sets, this will take considerable amount of time.
|
|
228
222
|
* @ignore
|
|
229
223
|
*/
|
|
230
|
-
async function clickElements(page, selector, clickOptions) {
|
|
224
|
+
export async function clickElements(page, selector, clickOptions) {
|
|
231
225
|
const elementHandles = await page.$$(selector);
|
|
232
226
|
log.debug(`enqueueLinksByClickingElements: There are ${elementHandles.length} elements to click.`);
|
|
233
227
|
let clickedElementsCount = 0;
|
|
@@ -306,7 +300,7 @@ async function restoreHistoryNavigationAndSaveCapturedUrls(page, requests) {
|
|
|
306
300
|
state.forEach((args) => {
|
|
307
301
|
try {
|
|
308
302
|
const stateUrl = args[args.length - 1];
|
|
309
|
-
const url = new
|
|
303
|
+
const url = new URL(stateUrl, page.url()).href;
|
|
310
304
|
requests.add(JSON.stringify({ url }));
|
|
311
305
|
}
|
|
312
306
|
catch (err) {
|