@letsscrapedata/controller 0.0.16 → 0.0.18
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/dist/index.cjs +23 -10
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +23 -10
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -160,7 +160,7 @@ var PlaywrightElement = class _PlaywrightElement {
|
|
|
160
160
|
if (selector !== ".") {
|
|
161
161
|
locators = await parent2.locator(selector).all();
|
|
162
162
|
} else {
|
|
163
|
-
|
|
163
|
+
locators = [this.#locator];
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
166
|
retObj.locators = locators;
|
|
@@ -1394,7 +1394,7 @@ var PlaywrightBrowser = class extends import_node_events3.default {
|
|
|
1394
1394
|
return this.#options.maxPagesPerBrowserContext ? this.#options.maxPagesPerBrowserContext : 20;
|
|
1395
1395
|
}
|
|
1396
1396
|
#maxPageFreeSeconds() {
|
|
1397
|
-
return this.#options.maxPageFreeSeconds ? this.#options.maxPageFreeSeconds :
|
|
1397
|
+
return this.#options.maxPageFreeSeconds ? this.#options.maxPageFreeSeconds : 900;
|
|
1398
1398
|
}
|
|
1399
1399
|
// 构造函数:缺省只能由LsdBrowserController.launch/connect调用创建实例!!!
|
|
1400
1400
|
constructor(browser, browerType, browserCreateMethod, options, browserIdx = 0) {
|
|
@@ -1402,7 +1402,7 @@ var PlaywrightBrowser = class extends import_node_events3.default {
|
|
|
1402
1402
|
throw new Error(`Invalid playwright browser parameter`);
|
|
1403
1403
|
}
|
|
1404
1404
|
super();
|
|
1405
|
-
const { closeFreePagesIntervalSeconds =
|
|
1405
|
+
const { closeFreePagesIntervalSeconds = 300, maxPageFreeSeconds = 900, headless = false, executablePath = "" } = options;
|
|
1406
1406
|
this.#browser = browser;
|
|
1407
1407
|
this.#browserIdx = browserIdx;
|
|
1408
1408
|
this.#lsdBrowserContexts = [];
|
|
@@ -2862,7 +2862,7 @@ var PuppeteerBrowser = class extends import_node_events6.default {
|
|
|
2862
2862
|
return this.#options.maxPagesPerBrowserContext ? this.#options.maxPagesPerBrowserContext : 20;
|
|
2863
2863
|
}
|
|
2864
2864
|
#maxPageFreeSeconds() {
|
|
2865
|
-
return this.#options.maxPageFreeSeconds ? this.#options.maxPageFreeSeconds :
|
|
2865
|
+
return this.#options.maxPageFreeSeconds ? this.#options.maxPageFreeSeconds : 900;
|
|
2866
2866
|
}
|
|
2867
2867
|
#userAgent() {
|
|
2868
2868
|
return this.#options.userAgent ? this.#options.userAgent : "";
|
|
@@ -2873,7 +2873,7 @@ var PuppeteerBrowser = class extends import_node_events6.default {
|
|
|
2873
2873
|
throw new Error(`Invalid puppeteer browser parameter`);
|
|
2874
2874
|
}
|
|
2875
2875
|
super();
|
|
2876
|
-
const { closeFreePagesIntervalSeconds =
|
|
2876
|
+
const { closeFreePagesIntervalSeconds = 300, maxPageFreeSeconds = 900, headless = false, executablePath = "" } = options;
|
|
2877
2877
|
this.#browser = browser;
|
|
2878
2878
|
this.#browserIdx = browserIdx;
|
|
2879
2879
|
this.#lsdBrowserContexts = [];
|
|
@@ -17190,19 +17190,19 @@ var LsdBrowserController = class _LsdBrowserController {
|
|
|
17190
17190
|
maxBrowserContextsPerBrowser = 10,
|
|
17191
17191
|
maxPagesPerBrowserContext = 20,
|
|
17192
17192
|
maxPageFreeSeconds = 900,
|
|
17193
|
+
proxy = null,
|
|
17193
17194
|
timeout = 3e4,
|
|
17194
17195
|
args = [],
|
|
17195
17196
|
executablePath = "",
|
|
17196
|
-
headless =
|
|
17197
|
+
headless = true,
|
|
17197
17198
|
minBrowserContexts = 1,
|
|
17198
17199
|
// incognito
|
|
17199
|
-
proxy = null,
|
|
17200
17200
|
proxyPerBrowserContext = false,
|
|
17201
17201
|
userDataDir = "",
|
|
17202
17202
|
userAgent = ""
|
|
17203
17203
|
} = options ? options : {};
|
|
17204
17204
|
const incognito = typeof options?.incognito === "boolean" ? options.incognito : browserControllerType === "puppeteer" ? false : true;
|
|
17205
|
-
const actOptions = { closeFreePagesIntervalSeconds, maxBrowserContextsPerBrowser, maxPagesPerBrowserContext, maxPageFreeSeconds, timeout, args, executablePath, headless,
|
|
17205
|
+
const actOptions = { closeFreePagesIntervalSeconds, maxBrowserContextsPerBrowser, maxPagesPerBrowserContext, maxPageFreeSeconds, proxy, timeout, args, executablePath, headless, minBrowserContexts, incognito, proxyPerBrowserContext, userDataDir, userAgent };
|
|
17206
17206
|
let idx = args.findIndex((arg) => arg.toLowerCase().startsWith("--incoginto"));
|
|
17207
17207
|
if (idx >= 0) {
|
|
17208
17208
|
(0, import_utils15.logwarn)(`Please use options.incognito instead when launching new browser.`);
|
|
@@ -17280,14 +17280,27 @@ var LsdBrowserController = class _LsdBrowserController {
|
|
|
17280
17280
|
return lsdBrowser;
|
|
17281
17281
|
}
|
|
17282
17282
|
async connect(browserControllerType, browserType, options) {
|
|
17283
|
-
|
|
17283
|
+
let {
|
|
17284
|
+
closeFreePagesIntervalSeconds = 300,
|
|
17285
|
+
maxBrowserContextsPerBrowser = 10,
|
|
17286
|
+
maxPagesPerBrowserContext = 20,
|
|
17287
|
+
maxPageFreeSeconds = 900,
|
|
17288
|
+
proxy = null,
|
|
17289
|
+
timeout = 3e4,
|
|
17290
|
+
browserUrl,
|
|
17291
|
+
executablePath = "",
|
|
17292
|
+
headless = false,
|
|
17293
|
+
incognito = false,
|
|
17294
|
+
userAgent = ""
|
|
17295
|
+
} = options;
|
|
17284
17296
|
if (typeof browserUrl !== "string" || !browserUrl.toLowerCase().startsWith("http://")) {
|
|
17285
17297
|
throw new Error(`Invalid browserUrl ${browserUrl} in connect`);
|
|
17286
17298
|
}
|
|
17299
|
+
const actOptions = { closeFreePagesIntervalSeconds, maxBrowserContextsPerBrowser, maxPagesPerBrowserContext, maxPageFreeSeconds, proxy, timeout, browserUrl, executablePath, headless, incognito, userAgent };
|
|
17287
17300
|
if (browserControllerType === "playwright") {
|
|
17288
17301
|
const playwrightBrowserType = this.#playwrightBrowserType(browserType, true);
|
|
17289
17302
|
const browser = await playwrightBrowserType.connectOverCDP(browserUrl);
|
|
17290
|
-
const lsdBrowser = new PlaywrightBrowser(browser, browserType, "connect",
|
|
17303
|
+
const lsdBrowser = new PlaywrightBrowser(browser, browserType, "connect", actOptions, this.#nextBrowserIdx++);
|
|
17291
17304
|
return lsdBrowser;
|
|
17292
17305
|
} else if (browserControllerType === "puppeteer") {
|
|
17293
17306
|
this.#puppeteerProduct(browserType);
|
package/dist/index.d.cts
CHANGED
|
@@ -42,7 +42,7 @@ type BrowserControllerOptions = {
|
|
|
42
42
|
declare const defaultProxy: Proxy;
|
|
43
43
|
interface BrowserOptions {
|
|
44
44
|
/**
|
|
45
|
-
* Interval between closing free pages (seconds) if
|
|
45
|
+
* Interval between closing free pages (seconds) if greater than 0
|
|
46
46
|
* @default 300
|
|
47
47
|
*/
|
|
48
48
|
closeFreePagesIntervalSeconds?: number;
|
package/dist/index.d.ts
CHANGED
|
@@ -42,7 +42,7 @@ type BrowserControllerOptions = {
|
|
|
42
42
|
declare const defaultProxy: Proxy;
|
|
43
43
|
interface BrowserOptions {
|
|
44
44
|
/**
|
|
45
|
-
* Interval between closing free pages (seconds) if
|
|
45
|
+
* Interval between closing free pages (seconds) if greater than 0
|
|
46
46
|
* @default 300
|
|
47
47
|
*/
|
|
48
48
|
closeFreePagesIntervalSeconds?: number;
|
package/dist/index.js
CHANGED
|
@@ -140,7 +140,7 @@ var PlaywrightElement = class _PlaywrightElement {
|
|
|
140
140
|
if (selector !== ".") {
|
|
141
141
|
locators = await parent2.locator(selector).all();
|
|
142
142
|
} else {
|
|
143
|
-
|
|
143
|
+
locators = [this.#locator];
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
146
|
retObj.locators = locators;
|
|
@@ -1374,7 +1374,7 @@ var PlaywrightBrowser = class extends EventEmitter3 {
|
|
|
1374
1374
|
return this.#options.maxPagesPerBrowserContext ? this.#options.maxPagesPerBrowserContext : 20;
|
|
1375
1375
|
}
|
|
1376
1376
|
#maxPageFreeSeconds() {
|
|
1377
|
-
return this.#options.maxPageFreeSeconds ? this.#options.maxPageFreeSeconds :
|
|
1377
|
+
return this.#options.maxPageFreeSeconds ? this.#options.maxPageFreeSeconds : 900;
|
|
1378
1378
|
}
|
|
1379
1379
|
// 构造函数:缺省只能由LsdBrowserController.launch/connect调用创建实例!!!
|
|
1380
1380
|
constructor(browser, browerType, browserCreateMethod, options, browserIdx = 0) {
|
|
@@ -1382,7 +1382,7 @@ var PlaywrightBrowser = class extends EventEmitter3 {
|
|
|
1382
1382
|
throw new Error(`Invalid playwright browser parameter`);
|
|
1383
1383
|
}
|
|
1384
1384
|
super();
|
|
1385
|
-
const { closeFreePagesIntervalSeconds =
|
|
1385
|
+
const { closeFreePagesIntervalSeconds = 300, maxPageFreeSeconds = 900, headless = false, executablePath = "" } = options;
|
|
1386
1386
|
this.#browser = browser;
|
|
1387
1387
|
this.#browserIdx = browserIdx;
|
|
1388
1388
|
this.#lsdBrowserContexts = [];
|
|
@@ -2842,7 +2842,7 @@ var PuppeteerBrowser = class extends EventEmitter6 {
|
|
|
2842
2842
|
return this.#options.maxPagesPerBrowserContext ? this.#options.maxPagesPerBrowserContext : 20;
|
|
2843
2843
|
}
|
|
2844
2844
|
#maxPageFreeSeconds() {
|
|
2845
|
-
return this.#options.maxPageFreeSeconds ? this.#options.maxPageFreeSeconds :
|
|
2845
|
+
return this.#options.maxPageFreeSeconds ? this.#options.maxPageFreeSeconds : 900;
|
|
2846
2846
|
}
|
|
2847
2847
|
#userAgent() {
|
|
2848
2848
|
return this.#options.userAgent ? this.#options.userAgent : "";
|
|
@@ -2853,7 +2853,7 @@ var PuppeteerBrowser = class extends EventEmitter6 {
|
|
|
2853
2853
|
throw new Error(`Invalid puppeteer browser parameter`);
|
|
2854
2854
|
}
|
|
2855
2855
|
super();
|
|
2856
|
-
const { closeFreePagesIntervalSeconds =
|
|
2856
|
+
const { closeFreePagesIntervalSeconds = 300, maxPageFreeSeconds = 900, headless = false, executablePath = "" } = options;
|
|
2857
2857
|
this.#browser = browser;
|
|
2858
2858
|
this.#browserIdx = browserIdx;
|
|
2859
2859
|
this.#lsdBrowserContexts = [];
|
|
@@ -17170,19 +17170,19 @@ var LsdBrowserController = class _LsdBrowserController {
|
|
|
17170
17170
|
maxBrowserContextsPerBrowser = 10,
|
|
17171
17171
|
maxPagesPerBrowserContext = 20,
|
|
17172
17172
|
maxPageFreeSeconds = 900,
|
|
17173
|
+
proxy = null,
|
|
17173
17174
|
timeout = 3e4,
|
|
17174
17175
|
args = [],
|
|
17175
17176
|
executablePath = "",
|
|
17176
|
-
headless =
|
|
17177
|
+
headless = true,
|
|
17177
17178
|
minBrowserContexts = 1,
|
|
17178
17179
|
// incognito
|
|
17179
|
-
proxy = null,
|
|
17180
17180
|
proxyPerBrowserContext = false,
|
|
17181
17181
|
userDataDir = "",
|
|
17182
17182
|
userAgent = ""
|
|
17183
17183
|
} = options ? options : {};
|
|
17184
17184
|
const incognito = typeof options?.incognito === "boolean" ? options.incognito : browserControllerType === "puppeteer" ? false : true;
|
|
17185
|
-
const actOptions = { closeFreePagesIntervalSeconds, maxBrowserContextsPerBrowser, maxPagesPerBrowserContext, maxPageFreeSeconds, timeout, args, executablePath, headless,
|
|
17185
|
+
const actOptions = { closeFreePagesIntervalSeconds, maxBrowserContextsPerBrowser, maxPagesPerBrowserContext, maxPageFreeSeconds, proxy, timeout, args, executablePath, headless, minBrowserContexts, incognito, proxyPerBrowserContext, userDataDir, userAgent };
|
|
17186
17186
|
let idx = args.findIndex((arg) => arg.toLowerCase().startsWith("--incoginto"));
|
|
17187
17187
|
if (idx >= 0) {
|
|
17188
17188
|
logwarn6(`Please use options.incognito instead when launching new browser.`);
|
|
@@ -17260,14 +17260,27 @@ var LsdBrowserController = class _LsdBrowserController {
|
|
|
17260
17260
|
return lsdBrowser;
|
|
17261
17261
|
}
|
|
17262
17262
|
async connect(browserControllerType, browserType, options) {
|
|
17263
|
-
|
|
17263
|
+
let {
|
|
17264
|
+
closeFreePagesIntervalSeconds = 300,
|
|
17265
|
+
maxBrowserContextsPerBrowser = 10,
|
|
17266
|
+
maxPagesPerBrowserContext = 20,
|
|
17267
|
+
maxPageFreeSeconds = 900,
|
|
17268
|
+
proxy = null,
|
|
17269
|
+
timeout = 3e4,
|
|
17270
|
+
browserUrl,
|
|
17271
|
+
executablePath = "",
|
|
17272
|
+
headless = false,
|
|
17273
|
+
incognito = false,
|
|
17274
|
+
userAgent = ""
|
|
17275
|
+
} = options;
|
|
17264
17276
|
if (typeof browserUrl !== "string" || !browserUrl.toLowerCase().startsWith("http://")) {
|
|
17265
17277
|
throw new Error(`Invalid browserUrl ${browserUrl} in connect`);
|
|
17266
17278
|
}
|
|
17279
|
+
const actOptions = { closeFreePagesIntervalSeconds, maxBrowserContextsPerBrowser, maxPagesPerBrowserContext, maxPageFreeSeconds, proxy, timeout, browserUrl, executablePath, headless, incognito, userAgent };
|
|
17267
17280
|
if (browserControllerType === "playwright") {
|
|
17268
17281
|
const playwrightBrowserType = this.#playwrightBrowserType(browserType, true);
|
|
17269
17282
|
const browser = await playwrightBrowserType.connectOverCDP(browserUrl);
|
|
17270
|
-
const lsdBrowser = new PlaywrightBrowser(browser, browserType, "connect",
|
|
17283
|
+
const lsdBrowser = new PlaywrightBrowser(browser, browserType, "connect", actOptions, this.#nextBrowserIdx++);
|
|
17271
17284
|
return lsdBrowser;
|
|
17272
17285
|
} else if (browserControllerType === "puppeteer") {
|
|
17273
17286
|
this.#puppeteerProduct(browserType);
|
package/package.json
CHANGED