@crawlee/puppeteer 3.0.0-alpha.3 → 3.0.0-alpha.30

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 (46) hide show
  1. package/{dist/README.md → README.md} +0 -0
  2. package/{dist/index.d.ts → index.d.ts} +0 -2
  3. package/index.d.ts.map +1 -0
  4. package/{dist/index.js → index.js} +1 -2
  5. package/{dist/index.js.map → index.js.map} +1 -1
  6. package/{dist/index.mjs → index.mjs} +1 -5
  7. package/{dist/internals → internals}/enqueue-links/click-elements.d.ts +0 -0
  8. package/{dist/internals → internals}/enqueue-links/click-elements.d.ts.map +1 -1
  9. package/{dist/internals → internals}/enqueue-links/click-elements.js +0 -0
  10. package/internals/enqueue-links/click-elements.js.map +1 -0
  11. package/{dist/internals → internals}/puppeteer-crawler.d.ts +8 -9
  12. package/internals/puppeteer-crawler.d.ts.map +1 -0
  13. package/{dist/internals → internals}/puppeteer-crawler.js +6 -17
  14. package/internals/puppeteer-crawler.js.map +1 -0
  15. package/{dist/internals → internals}/puppeteer-launcher.d.ts +6 -25
  16. package/internals/puppeteer-launcher.d.ts.map +1 -0
  17. package/{dist/internals → internals}/puppeteer-launcher.js +1 -73
  18. package/internals/puppeteer-launcher.js.map +1 -0
  19. package/{dist/internals → internals}/utils/puppeteer_request_interception.d.ts +0 -0
  20. package/{dist/internals → internals}/utils/puppeteer_request_interception.d.ts.map +0 -0
  21. package/{dist/internals → internals}/utils/puppeteer_request_interception.js +0 -0
  22. package/{dist/internals → internals}/utils/puppeteer_request_interception.js.map +0 -0
  23. package/{dist/internals → internals}/utils/puppeteer_utils.d.ts +19 -3
  24. package/internals/utils/puppeteer_utils.d.ts.map +1 -0
  25. package/{dist/internals → internals}/utils/puppeteer_utils.js +22 -1
  26. package/{dist/internals → internals}/utils/puppeteer_utils.js.map +1 -1
  27. package/package.json +9 -12
  28. package/tsconfig.build.tsbuildinfo +1 -0
  29. package/dist/LICENSE.md +0 -201
  30. package/dist/index.d.ts.map +0 -1
  31. package/dist/internals/enqueue-links/click-elements.js.map +0 -1
  32. package/dist/internals/puppeteer-crawler.d.ts.map +0 -1
  33. package/dist/internals/puppeteer-crawler.js.map +0 -1
  34. package/dist/internals/puppeteer-launcher.d.ts.map +0 -1
  35. package/dist/internals/puppeteer-launcher.js.map +0 -1
  36. package/dist/internals/stealth/hiding_tricks.d.ts +0 -10
  37. package/dist/internals/stealth/hiding_tricks.d.ts.map +0 -1
  38. package/dist/internals/stealth/hiding_tricks.js +0 -334
  39. package/dist/internals/stealth/hiding_tricks.js.map +0 -1
  40. package/dist/internals/stealth/index.d.ts +0 -40
  41. package/dist/internals/stealth/index.d.ts.map +0 -1
  42. package/dist/internals/stealth/index.js +0 -108
  43. package/dist/internals/stealth/index.js.map +0 -1
  44. package/dist/internals/utils/puppeteer_utils.d.ts.map +0 -1
  45. package/dist/package.json +0 -66
  46. package/dist/tsconfig.build.tsbuildinfo +0 -1
@@ -1,334 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mockDeviceMemory = exports.mockChromeInIframe = exports.mockChrome = exports.emulateConsoleDebug = exports.addPlugins = exports.emulateWindowFrame = exports.emulateWebGL = exports.addLanguage = exports.hackPermissions = void 0;
4
- const hackPermissions = () => {
5
- const originalQuery = window.navigator.permissions.query;
6
- // @ts-ignore
7
- window.navigator.permissions.__proto__.query = parameters => parameters.name === 'notifications' // eslint-disable-line
8
- ? Promise.resolve({ state: Notification.permission }) //eslint-disable-line
9
- : originalQuery(parameters);
10
- // Inspired by: https://github.com/ikarienator/phantomjs_hide_and_seek/blob/master/5.spoofFunctionBind.js
11
- const oldCall = Function.prototype.call;
12
- function call() {
13
- // @ts-ignore
14
- return oldCall.apply(this, arguments); //eslint-disable-line
15
- }
16
- // eslint-disable-next-line
17
- Function.prototype.call = call;
18
- const nativeToStringFunctionString = Error.toString().replace(/Error/g, 'toString');
19
- const oldToString = Function.prototype.toString;
20
- function functionToString() {
21
- // @ts-ignore
22
- if (this === window.navigator.permissions.query) {
23
- return 'function query() { [native code] }';
24
- }
25
- // @ts-ignore
26
- if (this === functionToString) {
27
- return nativeToStringFunctionString;
28
- }
29
- // @ts-ignore
30
- return oldCall.call(oldToString, this);
31
- }
32
- // eslint-disable-next-line
33
- Function.prototype.toString = functionToString;
34
- };
35
- exports.hackPermissions = hackPermissions;
36
- const addLanguage = () => {
37
- Object.defineProperty(Object.getPrototypeOf(navigator), 'languages', {
38
- get: () => ['en-US', 'en'],
39
- });
40
- };
41
- exports.addLanguage = addLanguage;
42
- const emulateWebGL = () => {
43
- try {
44
- // @ts-ignore
45
- const getParameterOld = WebGLRenderingContext.getParameter;
46
- WebGLRenderingContext.prototype.getParameter = function (parameter) {
47
- // UNMASKED_VENDOR_WEBGL
48
- if (parameter === 37445) {
49
- return 'Intel Inc.';
50
- }
51
- // UNMASKED_RENDERER_WEBGL
52
- if (parameter === 37446) {
53
- return 'Intel(R) Iris(TM) Plus Graphics 640';
54
- }
55
- return getParameterOld(parameter);
56
- };
57
- }
58
- catch (err) {
59
- // eslint-disable-next-line no-console
60
- console.error('hiding_tricks: Could not emulate WebGL');
61
- }
62
- };
63
- exports.emulateWebGL = emulateWebGL;
64
- const emulateWindowFrame = () => {
65
- if (window.outerWidth && window.outerHeight) {
66
- return; // nothing to do here
67
- }
68
- const windowFrame = 85; // probably OS and WM dependent
69
- // @ts-ignore
70
- window.outerWidth = window.innerWidth;
71
- // @ts-ignore
72
- window.outerHeight = window.innerHeight + windowFrame;
73
- };
74
- exports.emulateWindowFrame = emulateWindowFrame;
75
- const addPlugins = () => {
76
- function mockPluginsAndMimeTypes() {
77
- // Disguise custom functions as being native
78
- const makeFnsNative = (fns = []) => {
79
- const oldCall = Function.prototype.call;
80
- function call() {
81
- // @ts-ignore
82
- return oldCall.apply(this, arguments); // eslint-disable-line
83
- }
84
- // eslint-disable-next-line
85
- Function.prototype.call = call;
86
- const nativeToStringFunctionString = Error.toString().replace(/Error/g, 'toString');
87
- const oldToString = Function.prototype.toString;
88
- function functionToString() {
89
- for (const fn of fns) {
90
- // @ts-ignore
91
- if (this === fn.ref) {
92
- return `function ${fn.name}() { [native code] }`;
93
- }
94
- }
95
- // @ts-ignore
96
- if (this === functionToString) {
97
- return nativeToStringFunctionString;
98
- }
99
- // @ts-ignore
100
- return oldCall.call(oldToString, this);
101
- }
102
- // eslint-disable-next-line
103
- Function.prototype.toString = functionToString;
104
- };
105
- const mockedFns = [];
106
- const fakeData = {
107
- mimeTypes: [
108
- {
109
- type: 'application/pdf',
110
- suffixes: 'pdf',
111
- description: '',
112
- __pluginName: 'Chrome PDF Viewer',
113
- },
114
- {
115
- type: 'application/x-google-chrome-pdf',
116
- suffixes: 'pdf',
117
- description: 'Portable Document Format',
118
- __pluginName: 'Chrome PDF Plugin',
119
- },
120
- {
121
- type: 'application/x-nacl',
122
- suffixes: '',
123
- description: 'Native Client Executable',
124
- enabledPlugin: window.Plugin,
125
- __pluginName: 'Native Client',
126
- },
127
- {
128
- type: 'application/x-pnacl',
129
- suffixes: '',
130
- description: 'Portable Native Client Executable',
131
- __pluginName: 'Native Client',
132
- },
133
- ],
134
- plugins: [
135
- {
136
- name: 'Chrome PDF Plugin',
137
- filename: 'internal-pdf-viewer',
138
- description: 'Portable Document Format',
139
- },
140
- {
141
- name: 'Chrome PDF Viewer',
142
- filename: 'mhjfbmdgcfjbbpaeojofohoefgiehjai',
143
- description: '',
144
- },
145
- {
146
- name: 'Native Client',
147
- filename: 'internal-nacl-plugin',
148
- description: '',
149
- },
150
- ],
151
- fns: {
152
- namedItem: (instanceName) => {
153
- // Returns the Plugin/MimeType with the specified name.
154
- const fn = function (name) {
155
- if (!arguments.length) {
156
- throw new TypeError(`Failed to execute 'namedItem' on '${instanceName}': 1 argument required, but only 0 present.`);
157
- }
158
- // @ts-ignore
159
- return this[name] || null;
160
- };
161
- mockedFns.push({ ref: fn, name: 'namedItem' });
162
- return fn;
163
- },
164
- item: (instanceName) => {
165
- // Returns the Plugin/MimeType at the specified index into the array.
166
- const fn = function (index) {
167
- if (!arguments.length) {
168
- throw new TypeError(`Failed to execute 'namedItem' on '${instanceName}': 1 argument required, but only 0 present.`);
169
- }
170
- // @ts-ignore
171
- return this[index] || null;
172
- };
173
- mockedFns.push({ ref: fn, name: 'item' });
174
- return fn;
175
- },
176
- refresh: () => {
177
- // Refreshes all plugins on the current page, optionally reloading documents.
178
- const fn = function () {
179
- return undefined;
180
- };
181
- mockedFns.push({ ref: fn, name: 'refresh' });
182
- return fn;
183
- },
184
- },
185
- };
186
- // Poor mans _.pluck
187
- const getSubset = (keys, obj) => keys.reduce((a, c) => ({ ...a, [c]: obj[c] }), {});
188
- function generateMimeTypeArray() {
189
- const arr = fakeData.mimeTypes
190
- .map((obj) => getSubset(['type', 'suffixes', 'description'], obj))
191
- .map((obj) => Object.setPrototypeOf(obj, MimeType.prototype));
192
- arr.forEach((obj) => {
193
- arr[obj.type] = obj;
194
- });
195
- // Mock functions
196
- const arr2 = arr;
197
- arr2.namedItem = fakeData.fns.namedItem('MimeTypeArray');
198
- arr2.item = fakeData.fns.item('MimeTypeArray');
199
- return Object.setPrototypeOf(arr, MimeTypeArray.prototype);
200
- }
201
- const mimeTypeArray = generateMimeTypeArray();
202
- Object.defineProperty(window.navigator, 'mimeTypes', {
203
- get: () => mimeTypeArray,
204
- });
205
- function generatePluginArray() {
206
- const arr = fakeData.plugins
207
- .map((obj) => getSubset(['name', 'filename', 'description'], obj))
208
- .map((obj) => {
209
- const mimes = fakeData.mimeTypes.filter(m => m.__pluginName === obj.name);
210
- // Add mimetypes
211
- mimes.forEach((mime, index) => {
212
- // @ts-expect-error mimeTypes can be indexed by number and string too
213
- window.navigator.mimeTypes[mime.type].enabledPlugin = obj;
214
- // @ts-expect-error mimeTypes can be indexed by number and string too
215
- obj[mime.type] = window.navigator.mimeTypes[mime.type];
216
- // @ts-expect-error mimeTypes can be indexed by number and string too
217
- obj[index] = window.navigator.mimeTypes[mime.type];
218
- });
219
- return {
220
- ...obj,
221
- length: mimes.length,
222
- };
223
- })
224
- .map((obj) => {
225
- // Mock functions
226
- return {
227
- ...obj,
228
- namedItem: fakeData.fns.namedItem('Plugin'),
229
- item: fakeData.fns.item('Plugin'),
230
- };
231
- })
232
- .map((obj) => Object.setPrototypeOf(obj, window.Plugin.prototype));
233
- arr.forEach((obj) => {
234
- arr[obj.name] = obj;
235
- });
236
- // Mock functions
237
- const arr2 = arr;
238
- arr2.namedItem = fakeData.fns.namedItem('PluginArray');
239
- arr2.item = fakeData.fns.item('PluginArray');
240
- arr2.refresh = fakeData.fns.refresh();
241
- return Object.setPrototypeOf(arr, PluginArray.prototype);
242
- }
243
- const pluginArray = generatePluginArray();
244
- Object.defineProperty(window.navigator, 'plugins', {
245
- get: () => pluginArray,
246
- });
247
- // Make mockedFns toString() representation resemble a native function
248
- makeFnsNative(mockedFns);
249
- }
250
- const isPluginArray = window.navigator.plugins instanceof PluginArray;
251
- const hasPlugins = isPluginArray && window.navigator.plugins.length > 0;
252
- if (isPluginArray && hasPlugins) {
253
- return; // nothing to do here
254
- }
255
- mockPluginsAndMimeTypes();
256
- };
257
- exports.addPlugins = addPlugins;
258
- const emulateConsoleDebug = () => {
259
- window.console.debug = () => {
260
- return null;
261
- };
262
- };
263
- exports.emulateConsoleDebug = emulateConsoleDebug;
264
- // Should be mocked more properly - this one will bypass only some stupid tests
265
- const mockChrome = () => {
266
- // @ts-ignore
267
- if (!window.chrome) {
268
- Object.defineProperty(window, 'chrome', {
269
- value: {
270
- runtime: {},
271
- },
272
- });
273
- }
274
- };
275
- exports.mockChrome = mockChrome;
276
- // not sure if this hack does not broke iframe on websites... Should figure out how to test properly
277
- // Should cover that it is custom function same as the permission query
278
- const mockChromeInIframe = () => {
279
- const oldCreate = document.createElement.bind(document);
280
- const newCreate = (...args) => {
281
- if (args[0] === 'iframe') {
282
- const iframe = oldCreate(...args);
283
- if (!iframe.contentWindow) {
284
- Object.defineProperty(iframe, 'contentWindow', {
285
- configurable: true,
286
- value: { chrome: {} },
287
- });
288
- }
289
- // @ts-expect-error
290
- if (!iframe.contentWindow?.chrome) {
291
- Object.defineProperty(iframe.contentWindow, 'chrome', {
292
- value: {},
293
- configurable: true,
294
- });
295
- }
296
- return iframe;
297
- }
298
- return oldCreate(...args);
299
- };
300
- newCreate.toString = () => 'function createElement() { [native code] }';
301
- document.createElement = newCreate;
302
- const oldCall = Function.prototype.call;
303
- function call() {
304
- // @ts-ignore
305
- return oldCall.apply(this, arguments); //eslint-disable-line
306
- }
307
- // eslint-disable-next-line
308
- Function.prototype.call = call;
309
- const nativeToStringFunctionString = Error.toString().replace(/Error/g, 'toString');
310
- const oldToString = Function.prototype.toString;
311
- function functionToString() {
312
- // @ts-ignore
313
- if (this === window.document.createElement) {
314
- return 'function createElement() { [native code] }';
315
- }
316
- // @ts-ignore
317
- if (this === functionToString) {
318
- return nativeToStringFunctionString;
319
- }
320
- // @ts-ignore
321
- return oldCall.call(oldToString, this);
322
- }
323
- // eslint-disable-next-line
324
- Function.prototype.toString = functionToString;
325
- };
326
- exports.mockChromeInIframe = mockChromeInIframe;
327
- const mockDeviceMemory = () => {
328
- // TODO: Count from env according to - https://developer.mozilla.org/en-US/docs/Web/API/Navigator/deviceMemory
329
- Object.defineProperty(navigator, 'deviceMemory', {
330
- value: 8,
331
- });
332
- };
333
- exports.mockDeviceMemory = mockDeviceMemory;
334
- //# sourceMappingURL=hiding_tricks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hiding_tricks.js","sourceRoot":"","sources":["../../../src/internals/stealth/hiding_tricks.ts"],"names":[],"mappings":"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"}
@@ -1,40 +0,0 @@
1
- import { Page, Browser } from 'puppeteer';
2
- /**
3
- * Configuration of stealth tricks for a proper hiding effect all of them should be set to true.
4
- * These tricks are applied only when the `stealth` option is set to `true`.
5
- */
6
- export interface StealthOptions {
7
- /** If plugins should be added to the navigator. */
8
- addPlugins?: boolean;
9
- /** Emulates window Iframe. */
10
- emulateWindowFrame?: boolean;
11
- /** Emulates graphic card. */
12
- emulateWebGL?: boolean;
13
- /** Emulates console.debug to return null. */
14
- emulateConsoleDebug?: boolean;
15
- /** Adds languages to the navigator. */
16
- addLanguage?: boolean;
17
- /** Hides the webdriver by changing the navigator proto. */
18
- hideWebDriver?: boolean;
19
- /** Fakes interaction with permissions. */
20
- hackPermissions?: boolean;
21
- /** Adds the chrome runtime properties. */
22
- mockChrome?: boolean;
23
- /** Adds the chrome runtime properties inside the every newly created iframe. */
24
- mockChromeInIframe?: boolean;
25
- /** Sets device memory to other value than 0. */
26
- mockDeviceMemory?: boolean;
27
- }
28
- /**
29
- * The main purpose of this function is to override newPage function and attach selected tricks.
30
- * @param browser puppeteer browser instance
31
- * @param options
32
- * @returns Instance of Browser from puppeteer package
33
- */
34
- export declare function applyStealthToBrowser(browser: Browser, options: StealthOptions): Browser;
35
- /**
36
- * Applies stealth tricks to the puppeteer page
37
- * @internal
38
- */
39
- export declare function applyStealthTricks(page: Page, evaluationDebugMessage: string, options: StealthOptions): Promise<void>;
40
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/internals/stealth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQ1C;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC3B,mDAAmD;IACnD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8BAA8B;IAC9B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,6BAA6B;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6CAA6C;IAC7C,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,uCAAuC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,2DAA2D;IAC3D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,0CAA0C;IAC1C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,0CAA0C;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gFAAgF;IAChF,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gDAAgD;IAChD,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAkBD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAwBxF;AAoCD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBrH"}
@@ -1,108 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.applyStealthTricks = exports.applyStealthToBrowser = void 0;
4
- const tslib_1 = require("tslib");
5
- const utilities_1 = require("@apify/utilities");
6
- const log_1 = tslib_1.__importDefault(require("@apify/log"));
7
- const utils_1 = require("@crawlee/utils");
8
- const hidingTricks = tslib_1.__importStar(require("./hiding_tricks"));
9
- const log = log_1.default.child({ prefix: 'Stealth' });
10
- const DEFAULT_STEALTH_OPTIONS = {
11
- addPlugins: true,
12
- emulateWindowFrame: true,
13
- emulateWebGL: true,
14
- emulateConsoleDebug: true,
15
- addLanguage: true,
16
- hackPermissions: true,
17
- mockChrome: true,
18
- mockChromeInIframe: true,
19
- mockDeviceMemory: true,
20
- };
21
- const STEALTH_ERROR_MESSAGE_PREFIX = 'StealthError';
22
- const MAX_IFRAMES = 10;
23
- const alreadyWrapped = Symbol('alreadyWrapped');
24
- /**
25
- * The main purpose of this function is to override newPage function and attach selected tricks.
26
- * @param browser puppeteer browser instance
27
- * @param options
28
- * @returns Instance of Browser from puppeteer package
29
- */
30
- function applyStealthToBrowser(browser, options) {
31
- const modifiedBrowser = browser;
32
- const opts = { ...DEFAULT_STEALTH_OPTIONS, ...options };
33
- const defaultContext = browser.defaultBrowserContext();
34
- const contextPrototype = Object.getPrototypeOf(defaultContext);
35
- const prevNewPage = contextPrototype.newPage;
36
- if (!contextPrototype.newPage[alreadyWrapped]) {
37
- contextPrototype.newPage = async function (...args) {
38
- const page = await prevNewPage.bind(this)(...args);
39
- const evaluationDebugMessage = generateEvaluationDebugMessage();
40
- addStealthDebugToPage(page, evaluationDebugMessage);
41
- await applyStealthTricks(page, evaluationDebugMessage, opts);
42
- return page;
43
- };
44
- contextPrototype.newPage[alreadyWrapped] = true;
45
- }
46
- return modifiedBrowser;
47
- }
48
- exports.applyStealthToBrowser = applyStealthToBrowser;
49
- function generateEvaluationDebugMessage() {
50
- const minLength = 6;
51
- const maxLength = 10;
52
- const randomLength = Math.random() * (maxLength - minLength) + minLength;
53
- return (0, utilities_1.cryptoRandomObjectId)(randomLength);
54
- }
55
- /**
56
- * Logs the stealth errors in browser to the node stdout.
57
- * @param page puppeteer page instance
58
- * @param evaluationDebugMessage debug message
59
- */
60
- function addStealthDebugToPage(page, evaluationDebugMessage) {
61
- let warningLogged = false;
62
- let counter = 1;
63
- page.on('console', (msg) => {
64
- const text = msg.text();
65
- if (text.includes(STEALTH_ERROR_MESSAGE_PREFIX)) {
66
- log.error(text);
67
- }
68
- else if (text.includes(evaluationDebugMessage)) {
69
- if (counter > MAX_IFRAMES && !warningLogged) {
70
- log.warning(`Evaluating hiding tricks in too many iframes (limit: ${MAX_IFRAMES}).`
71
- + 'You might experience some performance issues. Try setting \'stealth\' false');
72
- warningLogged = true;
73
- }
74
- counter++;
75
- log.debug('Tricks evaluated', { counter });
76
- }
77
- });
78
- }
79
- /**
80
- * Applies stealth tricks to the puppeteer page
81
- * @internal
82
- */
83
- function applyStealthTricks(page, evaluationDebugMessage, options) {
84
- const functions = (0, utils_1.keys)(options)
85
- .filter((key) => {
86
- return options[key];
87
- })
88
- .map((key) => hidingTricks[key].toString());
89
- /* istanbul ignore next */
90
- const addFunctions = (functionsArr, errorMessagePrefix, debugMessage) => {
91
- // eslint-disable-next-line no-console
92
- console.log(debugMessage);
93
- // add functions
94
- for (const func of functionsArr) {
95
- try {
96
- eval(func)(); // eslint-disable-line
97
- }
98
- catch (e) {
99
- const err = e;
100
- // eslint-disable-next-line no-console
101
- console.error(`${errorMessagePrefix}: Failed to apply stealth trick reason: ${err.message}`);
102
- }
103
- }
104
- };
105
- return page.evaluateOnNewDocument(addFunctions, functions, STEALTH_ERROR_MESSAGE_PREFIX, evaluationDebugMessage);
106
- }
107
- exports.applyStealthTricks = applyStealthTricks;
108
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/internals/stealth/index.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"puppeteer_utils.d.ts","sourceRoot":"","sources":["../../../src/internals/utils/puppeteer_utils.ts"],"names":[],"mappings":"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"}
package/dist/package.json DELETED
@@ -1,66 +0,0 @@
1
- {
2
- "name": "@crawlee/puppeteer",
3
- "version": "3.0.0-alpha.3",
4
- "description": "The scalable web crawling and scraping library for JavaScript/Node.js. Enables development of data extraction and web automation jobs (not only) with headless Chrome and Puppeteer.",
5
- "engines": {
6
- "node": ">=16.0.0"
7
- },
8
- "types": "index.d.ts",
9
- "exports": {
10
- ".": {
11
- "import": "./index.mjs",
12
- "require": "./index.js"
13
- }
14
- },
15
- "keywords": [
16
- "apify",
17
- "headless",
18
- "chrome",
19
- "puppeteer",
20
- "crawler",
21
- "scraper"
22
- ],
23
- "author": {
24
- "name": "Apify",
25
- "email": "support@apify.com",
26
- "url": "https://apify.com"
27
- },
28
- "contributors": [
29
- "Jan Curn <jan@apify.com>",
30
- "Marek Trunkat <marek@apify.com>",
31
- "Ondra Urban <ondra@apify.com>"
32
- ],
33
- "license": "Apache-2.0",
34
- "repository": {
35
- "type": "git",
36
- "url": "git+https://github.com/apify/apify-js"
37
- },
38
- "bugs": {
39
- "url": "https://github.com/apify/apify-js/issues"
40
- },
41
- "homepage": "https://sdk.apify.com/",
42
- "files": [
43
- "dist"
44
- ],
45
- "scripts": {
46
- "build": "npm run clean && npm run compile && npm run copy",
47
- "clean": "rimraf ./dist",
48
- "compile": "tsc -p tsconfig.build.json && gen-esm-wrapper ./index.js ./index.mjs",
49
- "copy": "ts-node -T ../../scripts/copy.ts"
50
- },
51
- "publishConfig": {
52
- "access": "public"
53
- },
54
- "dependencies": {
55
- "@apify/log": "^1.1.10",
56
- "@crawlee/browser": "^3.0.0-alpha.3"
57
- },
58
- "peerDependencies": {
59
- "puppeteer": ">= 9.x <= 13.x"
60
- },
61
- "peerDependenciesMeta": {
62
- "puppeteer": {
63
- "optional": true
64
- }
65
- }
66
- }