@letsscrapedata/controller 0.0.19 → 0.0.20
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 +29 -11
- package/dist/index.d.cts +10 -2
- package/dist/index.d.ts +10 -2
- package/dist/index.js +29 -11
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1143,10 +1143,11 @@ var PlaywrightBrowserContext = class extends import_node_events2.default {
|
|
|
1143
1143
|
#proxy;
|
|
1144
1144
|
#maxPagesPerBrowserContext;
|
|
1145
1145
|
#maxPageFreeSeconds;
|
|
1146
|
+
#maxViewportOfNewPage;
|
|
1146
1147
|
#lsdPages;
|
|
1147
1148
|
#nextPageIdx;
|
|
1148
1149
|
#gettingPage;
|
|
1149
|
-
#initPages() {
|
|
1150
|
+
async #initPages() {
|
|
1150
1151
|
if (!this.#browserContext) {
|
|
1151
1152
|
throw new Error("Invalid browserContext");
|
|
1152
1153
|
}
|
|
@@ -1156,11 +1157,14 @@ var PlaywrightBrowserContext = class extends import_node_events2.default {
|
|
|
1156
1157
|
for (const page of pages) {
|
|
1157
1158
|
const pageInfo = { browserIdx: this.#browserIdx, browserContextIdx: this.#browserContextIdx, pageIdx: this.#nextPageIdx++, openType, openTime: this.#createTime, lastStatusUpdateTime, taskId: 0, relatedId: 0, misc: {} };
|
|
1158
1159
|
const lsdPage = new PlaywrightPage(this, page, pageInfo);
|
|
1160
|
+
if (this.#maxViewportOfNewPage) {
|
|
1161
|
+
await lsdPage.maximizeViewport();
|
|
1162
|
+
}
|
|
1159
1163
|
this.#lsdPages.push(lsdPage);
|
|
1160
1164
|
(0, import_utils3.loginfo)(`##browser ${lsdPage.id()} ${openType}ed`);
|
|
1161
1165
|
}
|
|
1162
1166
|
}
|
|
1163
|
-
constructor(lsdBrowser, browserContext, incognito = false, proxy = null, browserIdx = 0, browserContextIdx = 0, maxPagesPerBrowserContext = 20, maxPageFreeSeconds = 0) {
|
|
1167
|
+
constructor(lsdBrowser, browserContext, incognito = false, proxy = null, browserIdx = 0, browserContextIdx = 0, maxPagesPerBrowserContext = 20, maxPageFreeSeconds = 0, maxViewportOfNewPage = true) {
|
|
1164
1168
|
if (!lsdBrowser || typeof lsdBrowser.browserContexts !== "function") {
|
|
1165
1169
|
throw new Error(`Invalid lsdBrowser parameter`);
|
|
1166
1170
|
}
|
|
@@ -1177,6 +1181,7 @@ var PlaywrightBrowserContext = class extends import_node_events2.default {
|
|
|
1177
1181
|
this.#proxy = proxy?.server ? proxy : null;
|
|
1178
1182
|
this.#maxPagesPerBrowserContext = maxPagesPerBrowserContext;
|
|
1179
1183
|
this.#maxPageFreeSeconds = maxPageFreeSeconds;
|
|
1184
|
+
this.#maxViewportOfNewPage = maxViewportOfNewPage;
|
|
1180
1185
|
this.#lsdPages = [];
|
|
1181
1186
|
this.#nextPageIdx = 1;
|
|
1182
1187
|
this.#gettingPage = false;
|
|
@@ -1190,6 +1195,9 @@ var PlaywrightBrowserContext = class extends import_node_events2.default {
|
|
|
1190
1195
|
const currentTime = (0, import_utils3.getCurrentUnixTime)();
|
|
1191
1196
|
const pageInfo2 = { browserIdx: this.#browserIdx, browserContextIdx: this.#browserContextIdx, pageIdx: this.#nextPageIdx++, openType: "other", openTime: currentTime, lastStatusUpdateTime: currentTime, taskId: 0, relatedId: 0, misc: {} };
|
|
1192
1197
|
const lsdPage = new PlaywrightPage(this, page, pageInfo2);
|
|
1198
|
+
if (this.#maxViewportOfNewPage) {
|
|
1199
|
+
await lsdPage.maximizeViewport();
|
|
1200
|
+
}
|
|
1193
1201
|
this.#lsdPages.push(lsdPage);
|
|
1194
1202
|
(0, import_utils3.loginfo)(`##browser ${lsdPage.id()} created`);
|
|
1195
1203
|
}
|
|
@@ -1407,7 +1415,7 @@ var PlaywrightBrowser = class extends import_node_events3.default {
|
|
|
1407
1415
|
throw new Error(`Invalid playwright browser parameter`);
|
|
1408
1416
|
}
|
|
1409
1417
|
super();
|
|
1410
|
-
const { closeFreePagesIntervalSeconds = 300, maxPageFreeSeconds = 900, headless = false, executablePath = "" } = options;
|
|
1418
|
+
const { closeFreePagesIntervalSeconds = 300, maxPageFreeSeconds = 900, maxViewportOfNewPage = true, headless = false, executablePath = "" } = options;
|
|
1411
1419
|
this.#browser = browser;
|
|
1412
1420
|
this.#browserIdx = browserIdx;
|
|
1413
1421
|
this.#lsdBrowserContexts = [];
|
|
@@ -1415,8 +1423,8 @@ var PlaywrightBrowser = class extends import_node_events3.default {
|
|
|
1415
1423
|
this.#browserType = browerType;
|
|
1416
1424
|
this.#browserCreationMethod = browserCreateMethod;
|
|
1417
1425
|
this.#headless = headless;
|
|
1418
|
-
this.#options = options;
|
|
1419
1426
|
this.#proxy = options?.proxy ? Object.assign({}, options.proxy) : null;
|
|
1427
|
+
this.#options = Object.assign({}, options, { closeFreePagesIntervalSeconds, maxPageFreeSeconds, maxViewportOfNewPage, headless, executablePath, proxy: this.#proxy });
|
|
1420
1428
|
this.#executablePath = executablePath;
|
|
1421
1429
|
this.#nextBrowserContextIdx = 1;
|
|
1422
1430
|
this.#closeFreePagesIntervalId = null;
|
|
@@ -1427,7 +1435,7 @@ var PlaywrightBrowser = class extends import_node_events3.default {
|
|
|
1427
1435
|
}
|
|
1428
1436
|
const incognito = typeof options?.incognito === "boolean" ? options.incognito : true;
|
|
1429
1437
|
for (const browserContext of browserContexts) {
|
|
1430
|
-
const lsdBrowserContext = new PlaywrightBrowserContext(this, browserContext, incognito, this.#proxy, this.#browserIdx++, this.#nextBrowserContextIdx++, this.#maxPagesPerBrowserContext(), this.#maxPageFreeSeconds());
|
|
1438
|
+
const lsdBrowserContext = new PlaywrightBrowserContext(this, browserContext, incognito, this.#proxy, this.#browserIdx++, this.#nextBrowserContextIdx++, this.#maxPagesPerBrowserContext(), this.#maxPageFreeSeconds(), maxViewportOfNewPage);
|
|
1431
1439
|
this.#lsdBrowserContexts.push(lsdBrowserContext);
|
|
1432
1440
|
(0, import_utils4.loginfo)(`##browser ${lsdBrowserContext.id()} ${this.#browserCreationMethod}ed`);
|
|
1433
1441
|
}
|
|
@@ -1482,7 +1490,8 @@ var PlaywrightBrowser = class extends import_node_events3.default {
|
|
|
1482
1490
|
browserContextOptions.userAgent = options.userAgent;
|
|
1483
1491
|
}
|
|
1484
1492
|
const browserContext = await this.#browser.newContext(browserContextOptions);
|
|
1485
|
-
const
|
|
1493
|
+
const { maxViewportOfNewPage = this.#options.maxViewportOfNewPage } = options ? options : {};
|
|
1494
|
+
const lsdBrowserContext = new PlaywrightBrowserContext(this, browserContext, true, proxy, this.#browserIdx++, this.#nextBrowserContextIdx++, this.#maxPagesPerBrowserContext(), this.#maxPageFreeSeconds(), maxViewportOfNewPage);
|
|
1486
1495
|
this.#lsdBrowserContexts.push(lsdBrowserContext);
|
|
1487
1496
|
(0, import_utils4.loginfo)(`##browser ${lsdBrowserContext.id()} created`);
|
|
1488
1497
|
return lsdBrowserContext;
|
|
@@ -2599,6 +2608,7 @@ var PuppeteerBrowserContext = class extends import_node_events5.default {
|
|
|
2599
2608
|
#proxy;
|
|
2600
2609
|
#maxPagesPerBrowserContext;
|
|
2601
2610
|
#maxPageFreeSeconds;
|
|
2611
|
+
#maxViewportOfNewPage;
|
|
2602
2612
|
#lsdPages;
|
|
2603
2613
|
#nextPageIdx;
|
|
2604
2614
|
#gettingPage;
|
|
@@ -2612,6 +2622,9 @@ var PuppeteerBrowserContext = class extends import_node_events5.default {
|
|
|
2612
2622
|
for (const page of pages) {
|
|
2613
2623
|
const pageInfo = { browserIdx: this.#browserIdx, browserContextIdx: this.#browserContextIdx, pageIdx: this.#nextPageIdx++, openType, openTime: this.#createTime, lastStatusUpdateTime, taskId: 0, relatedId: 0, misc: {} };
|
|
2614
2624
|
const lsdPage = new PuppeteerPage(this, page, pageInfo);
|
|
2625
|
+
if (this.#maxViewportOfNewPage) {
|
|
2626
|
+
await lsdPage.maximizeViewport();
|
|
2627
|
+
}
|
|
2615
2628
|
if (this.#userAgent) {
|
|
2616
2629
|
await lsdPage.setUserAgent(this.#userAgent);
|
|
2617
2630
|
}
|
|
@@ -2619,7 +2632,7 @@ var PuppeteerBrowserContext = class extends import_node_events5.default {
|
|
|
2619
2632
|
(0, import_utils7.loginfo)(`##browser ${lsdPage.id()} ${openType}ed`);
|
|
2620
2633
|
}
|
|
2621
2634
|
}
|
|
2622
|
-
constructor(lsdBrowser, browserContext, incognito = false, proxy = null, browserIdx = 0, browserContextIdx = 0, maxPagesPerBrowserContext = 20, maxPageFreeSeconds = 0, userAgent = "") {
|
|
2635
|
+
constructor(lsdBrowser, browserContext, incognito = false, proxy = null, browserIdx = 0, browserContextIdx = 0, maxPagesPerBrowserContext = 20, maxPageFreeSeconds = 0, userAgent = "", maxViewportOfNewPage = true) {
|
|
2623
2636
|
if (!lsdBrowser || typeof lsdBrowser.browserContexts !== "function") {
|
|
2624
2637
|
throw new Error(`Invalid lsdBrowser parameter`);
|
|
2625
2638
|
}
|
|
@@ -2637,6 +2650,7 @@ var PuppeteerBrowserContext = class extends import_node_events5.default {
|
|
|
2637
2650
|
this.#proxy = proxy?.server ? proxy : null;
|
|
2638
2651
|
this.#maxPagesPerBrowserContext = maxPagesPerBrowserContext;
|
|
2639
2652
|
this.#maxPageFreeSeconds = maxPageFreeSeconds;
|
|
2653
|
+
this.#maxViewportOfNewPage = maxViewportOfNewPage;
|
|
2640
2654
|
this.#lsdPages = [];
|
|
2641
2655
|
this.#nextPageIdx = 1;
|
|
2642
2656
|
this.#gettingPage = false;
|
|
@@ -2655,6 +2669,9 @@ var PuppeteerBrowserContext = class extends import_node_events5.default {
|
|
|
2655
2669
|
const currentTime = (0, import_utils7.getCurrentUnixTime)();
|
|
2656
2670
|
const pageInfo2 = { browserIdx: this.#browserIdx, browserContextIdx: this.#browserContextIdx, pageIdx: this.#nextPageIdx++, openType: "other", openTime: currentTime, lastStatusUpdateTime: currentTime, taskId: 0, relatedId: 0, misc: {} };
|
|
2657
2671
|
const lsdPage = new PuppeteerPage(this, page, pageInfo2);
|
|
2672
|
+
if (this.#maxViewportOfNewPage) {
|
|
2673
|
+
await lsdPage.maximizeViewport();
|
|
2674
|
+
}
|
|
2658
2675
|
if (this.#userAgent) {
|
|
2659
2676
|
await lsdPage.setUserAgent(this.#userAgent);
|
|
2660
2677
|
}
|
|
@@ -2878,7 +2895,7 @@ var PuppeteerBrowser = class extends import_node_events6.default {
|
|
|
2878
2895
|
throw new Error(`Invalid puppeteer browser parameter`);
|
|
2879
2896
|
}
|
|
2880
2897
|
super();
|
|
2881
|
-
const { closeFreePagesIntervalSeconds = 300, maxPageFreeSeconds = 900, headless = false, executablePath = "" } = options;
|
|
2898
|
+
const { closeFreePagesIntervalSeconds = 300, maxPageFreeSeconds = 900, maxViewportOfNewPage = true, headless = false, executablePath = "" } = options;
|
|
2882
2899
|
this.#browser = browser;
|
|
2883
2900
|
this.#browserIdx = browserIdx;
|
|
2884
2901
|
this.#lsdBrowserContexts = [];
|
|
@@ -2887,7 +2904,7 @@ var PuppeteerBrowser = class extends import_node_events6.default {
|
|
|
2887
2904
|
this.#browserCreationMethod = browserCreateMethod;
|
|
2888
2905
|
this.#headless = headless;
|
|
2889
2906
|
this.#proxy = options?.proxy ? Object.assign({}, options.proxy) : null;
|
|
2890
|
-
this.#options = options;
|
|
2907
|
+
this.#options = Object.assign({}, options, { closeFreePagesIntervalSeconds, maxPageFreeSeconds, maxViewportOfNewPage, headless, executablePath, proxy: this.#proxy });
|
|
2891
2908
|
this.#executablePath = executablePath;
|
|
2892
2909
|
this.#nextBrowserContextIdx = 1;
|
|
2893
2910
|
this.#closeFreePagesIntervalId = null;
|
|
@@ -2895,7 +2912,7 @@ var PuppeteerBrowser = class extends import_node_events6.default {
|
|
|
2895
2912
|
const browserContexts = browser.browserContexts();
|
|
2896
2913
|
const incognito = typeof options?.incognito === "boolean" ? options.incognito : false;
|
|
2897
2914
|
for (const browserContext of browserContexts) {
|
|
2898
|
-
const lsdBrowserContext = new PuppeteerBrowserContext(this, browserContext, incognito, this.#proxy, this.#browserIdx, this.#nextBrowserContextIdx++, this.#maxPagesPerBrowserContext(), this.#maxPageFreeSeconds(), this.#userAgent());
|
|
2915
|
+
const lsdBrowserContext = new PuppeteerBrowserContext(this, browserContext, incognito, this.#proxy, this.#browserIdx, this.#nextBrowserContextIdx++, this.#maxPagesPerBrowserContext(), this.#maxPageFreeSeconds(), this.#userAgent(), maxViewportOfNewPage);
|
|
2899
2916
|
this.#lsdBrowserContexts.push(lsdBrowserContext);
|
|
2900
2917
|
(0, import_utils8.loginfo)(`##browser ${lsdBrowserContext.id()} ${this.#browserCreationMethod}ed`);
|
|
2901
2918
|
}
|
|
@@ -2947,7 +2964,8 @@ var PuppeteerBrowser = class extends import_node_events6.default {
|
|
|
2947
2964
|
}
|
|
2948
2965
|
const browserContext = await this.#browser.createBrowserContext(browserContextOptions);
|
|
2949
2966
|
const userAgent = options?.userAgent ? options.userAgent : "";
|
|
2950
|
-
const
|
|
2967
|
+
const { maxViewportOfNewPage = this.#options.maxViewportOfNewPage } = options ? options : {};
|
|
2968
|
+
const lsdBrowserContext = new PuppeteerBrowserContext(this, browserContext, true, proxy, this.#browserIdx, this.#nextBrowserContextIdx++, this.#maxPagesPerBrowserContext(), this.#maxPageFreeSeconds(), userAgent, maxViewportOfNewPage);
|
|
2951
2969
|
this.#lsdBrowserContexts.push(lsdBrowserContext);
|
|
2952
2970
|
(0, import_utils8.loginfo)(`##browser ${lsdBrowserContext.id()} created`);
|
|
2953
2971
|
return lsdBrowserContext;
|
package/dist/index.d.cts
CHANGED
|
@@ -61,6 +61,10 @@ interface BrowserOptions {
|
|
|
61
61
|
* @default 900
|
|
62
62
|
*/
|
|
63
63
|
maxPageFreeSeconds?: number;
|
|
64
|
+
/**
|
|
65
|
+
* @default true
|
|
66
|
+
*/
|
|
67
|
+
maxViewportOfNewPage?: boolean;
|
|
64
68
|
/**
|
|
65
69
|
* The proxy actually used by the connected browser; for efficient web scraping, please pass an accurate value
|
|
66
70
|
* * this will used as default proxy when creating new browserContexts later
|
|
@@ -130,6 +134,10 @@ interface LsdConnectOptions extends BrowserOptions {
|
|
|
130
134
|
}
|
|
131
135
|
type LsdBrowserContextOptions = {
|
|
132
136
|
proxy: Proxy | null;
|
|
137
|
+
/**
|
|
138
|
+
* @default browser.options.maxViewportOfNewPage
|
|
139
|
+
*/
|
|
140
|
+
maxViewportOfNewPage?: boolean;
|
|
133
141
|
/**
|
|
134
142
|
* userAgent of the browserContext:
|
|
135
143
|
* * playwright: set when creating the new browserContext
|
|
@@ -968,7 +976,7 @@ declare class PlaywrightBrowser extends EventEmitter implements LsdBrowser {
|
|
|
968
976
|
|
|
969
977
|
declare class PlaywrightBrowserContext extends EventEmitter implements LsdBrowserContext {
|
|
970
978
|
#private;
|
|
971
|
-
constructor(lsdBrowser: LsdBrowser, browserContext: BrowserContext, incognito?: boolean, proxy?: Proxy | null, browserIdx?: number, browserContextIdx?: number, maxPagesPerBrowserContext?: number, maxPageFreeSeconds?: number);
|
|
979
|
+
constructor(lsdBrowser: LsdBrowser, browserContext: BrowserContext, incognito?: boolean, proxy?: Proxy | null, browserIdx?: number, browserContextIdx?: number, maxPagesPerBrowserContext?: number, maxPageFreeSeconds?: number, maxViewportOfNewPage?: boolean);
|
|
972
980
|
browser(): LsdBrowser;
|
|
973
981
|
close(): Promise<boolean>;
|
|
974
982
|
closeFreePages(maxPageFreeSeconds?: number): Promise<boolean>;
|
|
@@ -1076,7 +1084,7 @@ declare class PuppeteerBrowser extends EventEmitter implements LsdBrowser {
|
|
|
1076
1084
|
|
|
1077
1085
|
declare class PuppeteerBrowserContext extends EventEmitter implements LsdBrowserContext {
|
|
1078
1086
|
#private;
|
|
1079
|
-
constructor(lsdBrowser: LsdBrowser, browserContext: BrowserContext$1, incognito?: boolean, proxy?: Proxy | null, browserIdx?: number, browserContextIdx?: number, maxPagesPerBrowserContext?: number, maxPageFreeSeconds?: number, userAgent?: string);
|
|
1087
|
+
constructor(lsdBrowser: LsdBrowser, browserContext: BrowserContext$1, incognito?: boolean, proxy?: Proxy | null, browserIdx?: number, browserContextIdx?: number, maxPagesPerBrowserContext?: number, maxPageFreeSeconds?: number, userAgent?: string, maxViewportOfNewPage?: boolean);
|
|
1080
1088
|
browser(): LsdBrowser;
|
|
1081
1089
|
close(): Promise<boolean>;
|
|
1082
1090
|
closeFreePages(maxPageFreeSeconds?: number): Promise<boolean>;
|
package/dist/index.d.ts
CHANGED
|
@@ -61,6 +61,10 @@ interface BrowserOptions {
|
|
|
61
61
|
* @default 900
|
|
62
62
|
*/
|
|
63
63
|
maxPageFreeSeconds?: number;
|
|
64
|
+
/**
|
|
65
|
+
* @default true
|
|
66
|
+
*/
|
|
67
|
+
maxViewportOfNewPage?: boolean;
|
|
64
68
|
/**
|
|
65
69
|
* The proxy actually used by the connected browser; for efficient web scraping, please pass an accurate value
|
|
66
70
|
* * this will used as default proxy when creating new browserContexts later
|
|
@@ -130,6 +134,10 @@ interface LsdConnectOptions extends BrowserOptions {
|
|
|
130
134
|
}
|
|
131
135
|
type LsdBrowserContextOptions = {
|
|
132
136
|
proxy: Proxy | null;
|
|
137
|
+
/**
|
|
138
|
+
* @default browser.options.maxViewportOfNewPage
|
|
139
|
+
*/
|
|
140
|
+
maxViewportOfNewPage?: boolean;
|
|
133
141
|
/**
|
|
134
142
|
* userAgent of the browserContext:
|
|
135
143
|
* * playwright: set when creating the new browserContext
|
|
@@ -968,7 +976,7 @@ declare class PlaywrightBrowser extends EventEmitter implements LsdBrowser {
|
|
|
968
976
|
|
|
969
977
|
declare class PlaywrightBrowserContext extends EventEmitter implements LsdBrowserContext {
|
|
970
978
|
#private;
|
|
971
|
-
constructor(lsdBrowser: LsdBrowser, browserContext: BrowserContext, incognito?: boolean, proxy?: Proxy | null, browserIdx?: number, browserContextIdx?: number, maxPagesPerBrowserContext?: number, maxPageFreeSeconds?: number);
|
|
979
|
+
constructor(lsdBrowser: LsdBrowser, browserContext: BrowserContext, incognito?: boolean, proxy?: Proxy | null, browserIdx?: number, browserContextIdx?: number, maxPagesPerBrowserContext?: number, maxPageFreeSeconds?: number, maxViewportOfNewPage?: boolean);
|
|
972
980
|
browser(): LsdBrowser;
|
|
973
981
|
close(): Promise<boolean>;
|
|
974
982
|
closeFreePages(maxPageFreeSeconds?: number): Promise<boolean>;
|
|
@@ -1076,7 +1084,7 @@ declare class PuppeteerBrowser extends EventEmitter implements LsdBrowser {
|
|
|
1076
1084
|
|
|
1077
1085
|
declare class PuppeteerBrowserContext extends EventEmitter implements LsdBrowserContext {
|
|
1078
1086
|
#private;
|
|
1079
|
-
constructor(lsdBrowser: LsdBrowser, browserContext: BrowserContext$1, incognito?: boolean, proxy?: Proxy | null, browserIdx?: number, browserContextIdx?: number, maxPagesPerBrowserContext?: number, maxPageFreeSeconds?: number, userAgent?: string);
|
|
1087
|
+
constructor(lsdBrowser: LsdBrowser, browserContext: BrowserContext$1, incognito?: boolean, proxy?: Proxy | null, browserIdx?: number, browserContextIdx?: number, maxPagesPerBrowserContext?: number, maxPageFreeSeconds?: number, userAgent?: string, maxViewportOfNewPage?: boolean);
|
|
1080
1088
|
browser(): LsdBrowser;
|
|
1081
1089
|
close(): Promise<boolean>;
|
|
1082
1090
|
closeFreePages(maxPageFreeSeconds?: number): Promise<boolean>;
|
package/dist/index.js
CHANGED
|
@@ -1123,10 +1123,11 @@ var PlaywrightBrowserContext = class extends EventEmitter2 {
|
|
|
1123
1123
|
#proxy;
|
|
1124
1124
|
#maxPagesPerBrowserContext;
|
|
1125
1125
|
#maxPageFreeSeconds;
|
|
1126
|
+
#maxViewportOfNewPage;
|
|
1126
1127
|
#lsdPages;
|
|
1127
1128
|
#nextPageIdx;
|
|
1128
1129
|
#gettingPage;
|
|
1129
|
-
#initPages() {
|
|
1130
|
+
async #initPages() {
|
|
1130
1131
|
if (!this.#browserContext) {
|
|
1131
1132
|
throw new Error("Invalid browserContext");
|
|
1132
1133
|
}
|
|
@@ -1136,11 +1137,14 @@ var PlaywrightBrowserContext = class extends EventEmitter2 {
|
|
|
1136
1137
|
for (const page of pages) {
|
|
1137
1138
|
const pageInfo = { browserIdx: this.#browserIdx, browserContextIdx: this.#browserContextIdx, pageIdx: this.#nextPageIdx++, openType, openTime: this.#createTime, lastStatusUpdateTime, taskId: 0, relatedId: 0, misc: {} };
|
|
1138
1139
|
const lsdPage = new PlaywrightPage(this, page, pageInfo);
|
|
1140
|
+
if (this.#maxViewportOfNewPage) {
|
|
1141
|
+
await lsdPage.maximizeViewport();
|
|
1142
|
+
}
|
|
1139
1143
|
this.#lsdPages.push(lsdPage);
|
|
1140
1144
|
loginfo2(`##browser ${lsdPage.id()} ${openType}ed`);
|
|
1141
1145
|
}
|
|
1142
1146
|
}
|
|
1143
|
-
constructor(lsdBrowser, browserContext, incognito = false, proxy = null, browserIdx = 0, browserContextIdx = 0, maxPagesPerBrowserContext = 20, maxPageFreeSeconds = 0) {
|
|
1147
|
+
constructor(lsdBrowser, browserContext, incognito = false, proxy = null, browserIdx = 0, browserContextIdx = 0, maxPagesPerBrowserContext = 20, maxPageFreeSeconds = 0, maxViewportOfNewPage = true) {
|
|
1144
1148
|
if (!lsdBrowser || typeof lsdBrowser.browserContexts !== "function") {
|
|
1145
1149
|
throw new Error(`Invalid lsdBrowser parameter`);
|
|
1146
1150
|
}
|
|
@@ -1157,6 +1161,7 @@ var PlaywrightBrowserContext = class extends EventEmitter2 {
|
|
|
1157
1161
|
this.#proxy = proxy?.server ? proxy : null;
|
|
1158
1162
|
this.#maxPagesPerBrowserContext = maxPagesPerBrowserContext;
|
|
1159
1163
|
this.#maxPageFreeSeconds = maxPageFreeSeconds;
|
|
1164
|
+
this.#maxViewportOfNewPage = maxViewportOfNewPage;
|
|
1160
1165
|
this.#lsdPages = [];
|
|
1161
1166
|
this.#nextPageIdx = 1;
|
|
1162
1167
|
this.#gettingPage = false;
|
|
@@ -1170,6 +1175,9 @@ var PlaywrightBrowserContext = class extends EventEmitter2 {
|
|
|
1170
1175
|
const currentTime = getCurrentUnixTime2();
|
|
1171
1176
|
const pageInfo2 = { browserIdx: this.#browserIdx, browserContextIdx: this.#browserContextIdx, pageIdx: this.#nextPageIdx++, openType: "other", openTime: currentTime, lastStatusUpdateTime: currentTime, taskId: 0, relatedId: 0, misc: {} };
|
|
1172
1177
|
const lsdPage = new PlaywrightPage(this, page, pageInfo2);
|
|
1178
|
+
if (this.#maxViewportOfNewPage) {
|
|
1179
|
+
await lsdPage.maximizeViewport();
|
|
1180
|
+
}
|
|
1173
1181
|
this.#lsdPages.push(lsdPage);
|
|
1174
1182
|
loginfo2(`##browser ${lsdPage.id()} created`);
|
|
1175
1183
|
}
|
|
@@ -1387,7 +1395,7 @@ var PlaywrightBrowser = class extends EventEmitter3 {
|
|
|
1387
1395
|
throw new Error(`Invalid playwright browser parameter`);
|
|
1388
1396
|
}
|
|
1389
1397
|
super();
|
|
1390
|
-
const { closeFreePagesIntervalSeconds = 300, maxPageFreeSeconds = 900, headless = false, executablePath = "" } = options;
|
|
1398
|
+
const { closeFreePagesIntervalSeconds = 300, maxPageFreeSeconds = 900, maxViewportOfNewPage = true, headless = false, executablePath = "" } = options;
|
|
1391
1399
|
this.#browser = browser;
|
|
1392
1400
|
this.#browserIdx = browserIdx;
|
|
1393
1401
|
this.#lsdBrowserContexts = [];
|
|
@@ -1395,8 +1403,8 @@ var PlaywrightBrowser = class extends EventEmitter3 {
|
|
|
1395
1403
|
this.#browserType = browerType;
|
|
1396
1404
|
this.#browserCreationMethod = browserCreateMethod;
|
|
1397
1405
|
this.#headless = headless;
|
|
1398
|
-
this.#options = options;
|
|
1399
1406
|
this.#proxy = options?.proxy ? Object.assign({}, options.proxy) : null;
|
|
1407
|
+
this.#options = Object.assign({}, options, { closeFreePagesIntervalSeconds, maxPageFreeSeconds, maxViewportOfNewPage, headless, executablePath, proxy: this.#proxy });
|
|
1400
1408
|
this.#executablePath = executablePath;
|
|
1401
1409
|
this.#nextBrowserContextIdx = 1;
|
|
1402
1410
|
this.#closeFreePagesIntervalId = null;
|
|
@@ -1407,7 +1415,7 @@ var PlaywrightBrowser = class extends EventEmitter3 {
|
|
|
1407
1415
|
}
|
|
1408
1416
|
const incognito = typeof options?.incognito === "boolean" ? options.incognito : true;
|
|
1409
1417
|
for (const browserContext of browserContexts) {
|
|
1410
|
-
const lsdBrowserContext = new PlaywrightBrowserContext(this, browserContext, incognito, this.#proxy, this.#browserIdx++, this.#nextBrowserContextIdx++, this.#maxPagesPerBrowserContext(), this.#maxPageFreeSeconds());
|
|
1418
|
+
const lsdBrowserContext = new PlaywrightBrowserContext(this, browserContext, incognito, this.#proxy, this.#browserIdx++, this.#nextBrowserContextIdx++, this.#maxPagesPerBrowserContext(), this.#maxPageFreeSeconds(), maxViewportOfNewPage);
|
|
1411
1419
|
this.#lsdBrowserContexts.push(lsdBrowserContext);
|
|
1412
1420
|
loginfo3(`##browser ${lsdBrowserContext.id()} ${this.#browserCreationMethod}ed`);
|
|
1413
1421
|
}
|
|
@@ -1462,7 +1470,8 @@ var PlaywrightBrowser = class extends EventEmitter3 {
|
|
|
1462
1470
|
browserContextOptions.userAgent = options.userAgent;
|
|
1463
1471
|
}
|
|
1464
1472
|
const browserContext = await this.#browser.newContext(browserContextOptions);
|
|
1465
|
-
const
|
|
1473
|
+
const { maxViewportOfNewPage = this.#options.maxViewportOfNewPage } = options ? options : {};
|
|
1474
|
+
const lsdBrowserContext = new PlaywrightBrowserContext(this, browserContext, true, proxy, this.#browserIdx++, this.#nextBrowserContextIdx++, this.#maxPagesPerBrowserContext(), this.#maxPageFreeSeconds(), maxViewportOfNewPage);
|
|
1466
1475
|
this.#lsdBrowserContexts.push(lsdBrowserContext);
|
|
1467
1476
|
loginfo3(`##browser ${lsdBrowserContext.id()} created`);
|
|
1468
1477
|
return lsdBrowserContext;
|
|
@@ -2579,6 +2588,7 @@ var PuppeteerBrowserContext = class extends EventEmitter5 {
|
|
|
2579
2588
|
#proxy;
|
|
2580
2589
|
#maxPagesPerBrowserContext;
|
|
2581
2590
|
#maxPageFreeSeconds;
|
|
2591
|
+
#maxViewportOfNewPage;
|
|
2582
2592
|
#lsdPages;
|
|
2583
2593
|
#nextPageIdx;
|
|
2584
2594
|
#gettingPage;
|
|
@@ -2592,6 +2602,9 @@ var PuppeteerBrowserContext = class extends EventEmitter5 {
|
|
|
2592
2602
|
for (const page of pages) {
|
|
2593
2603
|
const pageInfo = { browserIdx: this.#browserIdx, browserContextIdx: this.#browserContextIdx, pageIdx: this.#nextPageIdx++, openType, openTime: this.#createTime, lastStatusUpdateTime, taskId: 0, relatedId: 0, misc: {} };
|
|
2594
2604
|
const lsdPage = new PuppeteerPage(this, page, pageInfo);
|
|
2605
|
+
if (this.#maxViewportOfNewPage) {
|
|
2606
|
+
await lsdPage.maximizeViewport();
|
|
2607
|
+
}
|
|
2595
2608
|
if (this.#userAgent) {
|
|
2596
2609
|
await lsdPage.setUserAgent(this.#userAgent);
|
|
2597
2610
|
}
|
|
@@ -2599,7 +2612,7 @@ var PuppeteerBrowserContext = class extends EventEmitter5 {
|
|
|
2599
2612
|
loginfo5(`##browser ${lsdPage.id()} ${openType}ed`);
|
|
2600
2613
|
}
|
|
2601
2614
|
}
|
|
2602
|
-
constructor(lsdBrowser, browserContext, incognito = false, proxy = null, browserIdx = 0, browserContextIdx = 0, maxPagesPerBrowserContext = 20, maxPageFreeSeconds = 0, userAgent = "") {
|
|
2615
|
+
constructor(lsdBrowser, browserContext, incognito = false, proxy = null, browserIdx = 0, browserContextIdx = 0, maxPagesPerBrowserContext = 20, maxPageFreeSeconds = 0, userAgent = "", maxViewportOfNewPage = true) {
|
|
2603
2616
|
if (!lsdBrowser || typeof lsdBrowser.browserContexts !== "function") {
|
|
2604
2617
|
throw new Error(`Invalid lsdBrowser parameter`);
|
|
2605
2618
|
}
|
|
@@ -2617,6 +2630,7 @@ var PuppeteerBrowserContext = class extends EventEmitter5 {
|
|
|
2617
2630
|
this.#proxy = proxy?.server ? proxy : null;
|
|
2618
2631
|
this.#maxPagesPerBrowserContext = maxPagesPerBrowserContext;
|
|
2619
2632
|
this.#maxPageFreeSeconds = maxPageFreeSeconds;
|
|
2633
|
+
this.#maxViewportOfNewPage = maxViewportOfNewPage;
|
|
2620
2634
|
this.#lsdPages = [];
|
|
2621
2635
|
this.#nextPageIdx = 1;
|
|
2622
2636
|
this.#gettingPage = false;
|
|
@@ -2635,6 +2649,9 @@ var PuppeteerBrowserContext = class extends EventEmitter5 {
|
|
|
2635
2649
|
const currentTime = getCurrentUnixTime4();
|
|
2636
2650
|
const pageInfo2 = { browserIdx: this.#browserIdx, browserContextIdx: this.#browserContextIdx, pageIdx: this.#nextPageIdx++, openType: "other", openTime: currentTime, lastStatusUpdateTime: currentTime, taskId: 0, relatedId: 0, misc: {} };
|
|
2637
2651
|
const lsdPage = new PuppeteerPage(this, page, pageInfo2);
|
|
2652
|
+
if (this.#maxViewportOfNewPage) {
|
|
2653
|
+
await lsdPage.maximizeViewport();
|
|
2654
|
+
}
|
|
2638
2655
|
if (this.#userAgent) {
|
|
2639
2656
|
await lsdPage.setUserAgent(this.#userAgent);
|
|
2640
2657
|
}
|
|
@@ -2858,7 +2875,7 @@ var PuppeteerBrowser = class extends EventEmitter6 {
|
|
|
2858
2875
|
throw new Error(`Invalid puppeteer browser parameter`);
|
|
2859
2876
|
}
|
|
2860
2877
|
super();
|
|
2861
|
-
const { closeFreePagesIntervalSeconds = 300, maxPageFreeSeconds = 900, headless = false, executablePath = "" } = options;
|
|
2878
|
+
const { closeFreePagesIntervalSeconds = 300, maxPageFreeSeconds = 900, maxViewportOfNewPage = true, headless = false, executablePath = "" } = options;
|
|
2862
2879
|
this.#browser = browser;
|
|
2863
2880
|
this.#browserIdx = browserIdx;
|
|
2864
2881
|
this.#lsdBrowserContexts = [];
|
|
@@ -2867,7 +2884,7 @@ var PuppeteerBrowser = class extends EventEmitter6 {
|
|
|
2867
2884
|
this.#browserCreationMethod = browserCreateMethod;
|
|
2868
2885
|
this.#headless = headless;
|
|
2869
2886
|
this.#proxy = options?.proxy ? Object.assign({}, options.proxy) : null;
|
|
2870
|
-
this.#options = options;
|
|
2887
|
+
this.#options = Object.assign({}, options, { closeFreePagesIntervalSeconds, maxPageFreeSeconds, maxViewportOfNewPage, headless, executablePath, proxy: this.#proxy });
|
|
2871
2888
|
this.#executablePath = executablePath;
|
|
2872
2889
|
this.#nextBrowserContextIdx = 1;
|
|
2873
2890
|
this.#closeFreePagesIntervalId = null;
|
|
@@ -2875,7 +2892,7 @@ var PuppeteerBrowser = class extends EventEmitter6 {
|
|
|
2875
2892
|
const browserContexts = browser.browserContexts();
|
|
2876
2893
|
const incognito = typeof options?.incognito === "boolean" ? options.incognito : false;
|
|
2877
2894
|
for (const browserContext of browserContexts) {
|
|
2878
|
-
const lsdBrowserContext = new PuppeteerBrowserContext(this, browserContext, incognito, this.#proxy, this.#browserIdx, this.#nextBrowserContextIdx++, this.#maxPagesPerBrowserContext(), this.#maxPageFreeSeconds(), this.#userAgent());
|
|
2895
|
+
const lsdBrowserContext = new PuppeteerBrowserContext(this, browserContext, incognito, this.#proxy, this.#browserIdx, this.#nextBrowserContextIdx++, this.#maxPagesPerBrowserContext(), this.#maxPageFreeSeconds(), this.#userAgent(), maxViewportOfNewPage);
|
|
2879
2896
|
this.#lsdBrowserContexts.push(lsdBrowserContext);
|
|
2880
2897
|
loginfo6(`##browser ${lsdBrowserContext.id()} ${this.#browserCreationMethod}ed`);
|
|
2881
2898
|
}
|
|
@@ -2927,7 +2944,8 @@ var PuppeteerBrowser = class extends EventEmitter6 {
|
|
|
2927
2944
|
}
|
|
2928
2945
|
const browserContext = await this.#browser.createBrowserContext(browserContextOptions);
|
|
2929
2946
|
const userAgent = options?.userAgent ? options.userAgent : "";
|
|
2930
|
-
const
|
|
2947
|
+
const { maxViewportOfNewPage = this.#options.maxViewportOfNewPage } = options ? options : {};
|
|
2948
|
+
const lsdBrowserContext = new PuppeteerBrowserContext(this, browserContext, true, proxy, this.#browserIdx, this.#nextBrowserContextIdx++, this.#maxPagesPerBrowserContext(), this.#maxPageFreeSeconds(), userAgent, maxViewportOfNewPage);
|
|
2931
2949
|
this.#lsdBrowserContexts.push(lsdBrowserContext);
|
|
2932
2950
|
loginfo6(`##browser ${lsdBrowserContext.id()} created`);
|
|
2933
2951
|
return lsdBrowserContext;
|
package/package.json
CHANGED