@browserless.io/browserless 2.22.0-beta-5 → 2.23.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/CHANGELOG.md +13 -1
- package/build/browsers/browsers.cdp.js +12 -2
- package/build/routes/chrome/http/content.post.body.json +8 -8
- package/build/routes/chrome/http/pdf.post.body.json +8 -8
- package/build/routes/chrome/http/scrape.post.body.json +8 -8
- package/build/routes/chrome/http/screenshot.post.body.json +8 -8
- package/build/routes/chromium/http/content.post.body.json +8 -8
- package/build/routes/chromium/http/pdf.post.body.json +8 -8
- package/build/routes/chromium/http/scrape.post.body.json +8 -8
- package/build/routes/chromium/http/screenshot.post.body.json +8 -8
- package/docker/chrome/Dockerfile +2 -1
- package/docker/chromium/Dockerfile +2 -1
- package/docker/firefox/Dockerfile +2 -1
- package/docker/multi/Dockerfile +2 -1
- package/package.json +9 -9
- package/src/browsers/browsers.cdp.ts +13 -2
- package/static/docs/swagger.json +10 -10
- package/static/docs/swagger.min.json +9 -9
- package/static/function/client.js +175 -129
- package/static/function/index.html +175 -129
|
@@ -4382,7 +4382,7 @@
|
|
|
4382
4382
|
// node_modules/puppeteer-core/lib/esm/puppeteer/generated/version.js
|
|
4383
4383
|
init_dirname();
|
|
4384
4384
|
init_buffer2();
|
|
4385
|
-
var packageVersion = "23.6.
|
|
4385
|
+
var packageVersion = "23.6.1";
|
|
4386
4386
|
|
|
4387
4387
|
// node_modules/puppeteer-core/lib/esm/puppeteer/util/assert.js
|
|
4388
4388
|
init_dirname();
|
|
@@ -5203,7 +5203,7 @@
|
|
|
5203
5203
|
* ```ts
|
|
5204
5204
|
* await page.evaluate(() => window.open('https://www.example.com/'));
|
|
5205
5205
|
* const newWindowTarget = await browser.waitForTarget(
|
|
5206
|
-
* target => target.url() === 'https://www.example.com/'
|
|
5206
|
+
* target => target.url() === 'https://www.example.com/',
|
|
5207
5207
|
* );
|
|
5208
5208
|
* ```
|
|
5209
5209
|
*/
|
|
@@ -5332,6 +5332,7 @@
|
|
|
5332
5332
|
#value;
|
|
5333
5333
|
// SAFETY: This is ensured by #taskPromise.
|
|
5334
5334
|
#resolve;
|
|
5335
|
+
// TODO: Switch to Promise.withResolvers with Node 22
|
|
5335
5336
|
#taskPromise = new Promise((resolve) => {
|
|
5336
5337
|
this.#resolve = resolve;
|
|
5337
5338
|
});
|
|
@@ -5469,7 +5470,7 @@
|
|
|
5469
5470
|
* ```ts
|
|
5470
5471
|
* await page.evaluate(() => window.open('https://www.example.com/'));
|
|
5471
5472
|
* const newWindowTarget = await browserContext.waitForTarget(
|
|
5472
|
-
* target => target.url() === 'https://www.example.com/'
|
|
5473
|
+
* target => target.url() === 'https://www.example.com/',
|
|
5473
5474
|
* );
|
|
5474
5475
|
* ```
|
|
5475
5476
|
*/
|
|
@@ -5541,19 +5542,23 @@
|
|
|
5541
5542
|
env.error = env.hasError ? new SuppressedError2(e, env.error, "An error was suppressed during disposal.") : e;
|
|
5542
5543
|
env.hasError = true;
|
|
5543
5544
|
}
|
|
5545
|
+
var r, s = 0;
|
|
5544
5546
|
function next() {
|
|
5545
|
-
while (env.stack.
|
|
5546
|
-
var rec = env.stack.pop();
|
|
5547
|
+
while (r = env.stack.pop()) {
|
|
5547
5548
|
try {
|
|
5548
|
-
|
|
5549
|
-
if (
|
|
5550
|
-
|
|
5551
|
-
return next()
|
|
5552
|
-
|
|
5549
|
+
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
5550
|
+
if (r.dispose) {
|
|
5551
|
+
var result = r.dispose.call(r.value);
|
|
5552
|
+
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
|
|
5553
|
+
fail(e);
|
|
5554
|
+
return next();
|
|
5555
|
+
});
|
|
5556
|
+
} else s |= 1;
|
|
5553
5557
|
} catch (e) {
|
|
5554
5558
|
fail(e);
|
|
5555
5559
|
}
|
|
5556
5560
|
}
|
|
5561
|
+
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
5557
5562
|
if (env.hasError) throw env.error;
|
|
5558
5563
|
}
|
|
5559
5564
|
return next();
|
|
@@ -5985,19 +5990,23 @@
|
|
|
5985
5990
|
env.error = env.hasError ? new SuppressedError2(e, env.error, "An error was suppressed during disposal.") : e;
|
|
5986
5991
|
env.hasError = true;
|
|
5987
5992
|
}
|
|
5993
|
+
var r, s = 0;
|
|
5988
5994
|
function next() {
|
|
5989
|
-
while (env.stack.
|
|
5990
|
-
var rec = env.stack.pop();
|
|
5995
|
+
while (r = env.stack.pop()) {
|
|
5991
5996
|
try {
|
|
5992
|
-
|
|
5993
|
-
if (
|
|
5994
|
-
|
|
5995
|
-
return next()
|
|
5996
|
-
|
|
5997
|
+
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
5998
|
+
if (r.dispose) {
|
|
5999
|
+
var result = r.dispose.call(r.value);
|
|
6000
|
+
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
|
|
6001
|
+
fail(e);
|
|
6002
|
+
return next();
|
|
6003
|
+
});
|
|
6004
|
+
} else s |= 1;
|
|
5997
6005
|
} catch (e) {
|
|
5998
6006
|
fail(e);
|
|
5999
6007
|
}
|
|
6000
6008
|
}
|
|
6009
|
+
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
6001
6010
|
if (env.hasError) throw env.error;
|
|
6002
6011
|
}
|
|
6003
6012
|
return next();
|
|
@@ -6142,19 +6151,23 @@
|
|
|
6142
6151
|
env.error = env.hasError ? new SuppressedError2(e, env.error, "An error was suppressed during disposal.") : e;
|
|
6143
6152
|
env.hasError = true;
|
|
6144
6153
|
}
|
|
6154
|
+
var r, s = 0;
|
|
6145
6155
|
function next() {
|
|
6146
|
-
while (env.stack.
|
|
6147
|
-
var rec = env.stack.pop();
|
|
6156
|
+
while (r = env.stack.pop()) {
|
|
6148
6157
|
try {
|
|
6149
|
-
|
|
6150
|
-
if (
|
|
6151
|
-
|
|
6152
|
-
return next()
|
|
6153
|
-
|
|
6158
|
+
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
6159
|
+
if (r.dispose) {
|
|
6160
|
+
var result = r.dispose.call(r.value);
|
|
6161
|
+
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
|
|
6162
|
+
fail(e);
|
|
6163
|
+
return next();
|
|
6164
|
+
});
|
|
6165
|
+
} else s |= 1;
|
|
6154
6166
|
} catch (e) {
|
|
6155
6167
|
fail(e);
|
|
6156
6168
|
}
|
|
6157
6169
|
}
|
|
6170
|
+
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
6158
6171
|
if (env.hasError) throw env.error;
|
|
6159
6172
|
}
|
|
6160
6173
|
return next();
|
|
@@ -6847,19 +6860,23 @@
|
|
|
6847
6860
|
env.error = env.hasError ? new SuppressedError2(e, env.error, "An error was suppressed during disposal.") : e;
|
|
6848
6861
|
env.hasError = true;
|
|
6849
6862
|
}
|
|
6863
|
+
var r, s = 0;
|
|
6850
6864
|
function next() {
|
|
6851
|
-
while (env.stack.
|
|
6852
|
-
var rec = env.stack.pop();
|
|
6865
|
+
while (r = env.stack.pop()) {
|
|
6853
6866
|
try {
|
|
6854
|
-
|
|
6855
|
-
if (
|
|
6856
|
-
|
|
6857
|
-
return next()
|
|
6858
|
-
|
|
6867
|
+
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
6868
|
+
if (r.dispose) {
|
|
6869
|
+
var result = r.dispose.call(r.value);
|
|
6870
|
+
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
|
|
6871
|
+
fail(e);
|
|
6872
|
+
return next();
|
|
6873
|
+
});
|
|
6874
|
+
} else s |= 1;
|
|
6859
6875
|
} catch (e) {
|
|
6860
6876
|
fail(e);
|
|
6861
6877
|
}
|
|
6862
6878
|
}
|
|
6879
|
+
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
6863
6880
|
if (env.hasError) throw env.error;
|
|
6864
6881
|
}
|
|
6865
6882
|
return next();
|
|
@@ -7069,7 +7086,7 @@
|
|
|
7069
7086
|
* const aHandle = await page.evaluateHandle(() => document.body);
|
|
7070
7087
|
* const resultHandle = await page.evaluateHandle(
|
|
7071
7088
|
* body => body.innerHTML,
|
|
7072
|
-
* aHandle
|
|
7089
|
+
* aHandle,
|
|
7073
7090
|
* );
|
|
7074
7091
|
* console.log(await resultHandle.jsonValue());
|
|
7075
7092
|
* await resultHandle.dispose();
|
|
@@ -7083,7 +7100,7 @@
|
|
|
7083
7100
|
*
|
|
7084
7101
|
* ```ts
|
|
7085
7102
|
* const button = await page.evaluateHandle(() =>
|
|
7086
|
-
* document.querySelector('button')
|
|
7103
|
+
* document.querySelector('button'),
|
|
7087
7104
|
* );
|
|
7088
7105
|
* // can call `click` because `button` is an `ElementHandle`
|
|
7089
7106
|
* await button.click();
|
|
@@ -7135,7 +7152,7 @@
|
|
|
7135
7152
|
* // as `value` is not on `Element`
|
|
7136
7153
|
* const searchValue = await page.$eval(
|
|
7137
7154
|
* '#search',
|
|
7138
|
-
* (el: HTMLInputElement) => el.value
|
|
7155
|
+
* (el: HTMLInputElement) => el.value,
|
|
7139
7156
|
* );
|
|
7140
7157
|
* ```
|
|
7141
7158
|
*
|
|
@@ -7150,7 +7167,7 @@
|
|
|
7150
7167
|
* // or if you want to be more explicit, provide it as the generic type.
|
|
7151
7168
|
* const searchValue = await page.$eval<string>(
|
|
7152
7169
|
* '#search',
|
|
7153
|
-
* (el: HTMLInputElement) => el.value
|
|
7170
|
+
* (el: HTMLInputElement) => el.value,
|
|
7154
7171
|
* );
|
|
7155
7172
|
* ```
|
|
7156
7173
|
*
|
|
@@ -7223,7 +7240,7 @@
|
|
|
7223
7240
|
*
|
|
7224
7241
|
* ```ts
|
|
7225
7242
|
* const allInputValues = await page.$$eval('input', elements =>
|
|
7226
|
-
* elements.map(e => e.textContent)
|
|
7243
|
+
* elements.map(e => e.textContent),
|
|
7227
7244
|
* );
|
|
7228
7245
|
* ```
|
|
7229
7246
|
*
|
|
@@ -7341,10 +7358,10 @@
|
|
|
7341
7358
|
*
|
|
7342
7359
|
* ```ts
|
|
7343
7360
|
* const firstRequest = await page.waitForRequest(
|
|
7344
|
-
* 'https://example.com/resource'
|
|
7361
|
+
* 'https://example.com/resource',
|
|
7345
7362
|
* );
|
|
7346
7363
|
* const finalRequest = await page.waitForRequest(
|
|
7347
|
-
* request => request.url() === 'https://example.com'
|
|
7364
|
+
* request => request.url() === 'https://example.com',
|
|
7348
7365
|
* );
|
|
7349
7366
|
* return finalRequest.response()?.ok();
|
|
7350
7367
|
* ```
|
|
@@ -7385,11 +7402,11 @@
|
|
|
7385
7402
|
*
|
|
7386
7403
|
* ```ts
|
|
7387
7404
|
* const firstResponse = await page.waitForResponse(
|
|
7388
|
-
* 'https://example.com/resource'
|
|
7405
|
+
* 'https://example.com/resource',
|
|
7389
7406
|
* );
|
|
7390
7407
|
* const finalResponse = await page.waitForResponse(
|
|
7391
7408
|
* response =>
|
|
7392
|
-
* response.url() === 'https://example.com' && response.status() === 200
|
|
7409
|
+
* response.url() === 'https://example.com' && response.status() === 200,
|
|
7393
7410
|
* );
|
|
7394
7411
|
* const finalResponse = await page.waitForResponse(async response => {
|
|
7395
7412
|
* return (await response.text()).includes('<html>');
|
|
@@ -8137,7 +8154,7 @@
|
|
|
8137
8154
|
* await page.waitForFunction(
|
|
8138
8155
|
* selector => !!document.querySelector(selector),
|
|
8139
8156
|
* {},
|
|
8140
|
-
* selector
|
|
8157
|
+
* selector,
|
|
8141
8158
|
* );
|
|
8142
8159
|
* ```
|
|
8143
8160
|
*
|
|
@@ -8149,7 +8166,7 @@
|
|
|
8149
8166
|
* await page.waitForFunction(
|
|
8150
8167
|
* async username => {
|
|
8151
8168
|
* const githubResponse = await fetch(
|
|
8152
|
-
* `https://api.github.com/users/${username}
|
|
8169
|
+
* `https://api.github.com/users/${username}`,
|
|
8153
8170
|
* );
|
|
8154
8171
|
* const githubUser = await githubResponse.json();
|
|
8155
8172
|
* // show the avatar
|
|
@@ -8160,7 +8177,7 @@
|
|
|
8160
8177
|
* img.remove();
|
|
8161
8178
|
* },
|
|
8162
8179
|
* {},
|
|
8163
|
-
* username
|
|
8180
|
+
* username,
|
|
8164
8181
|
* );
|
|
8165
8182
|
* ```
|
|
8166
8183
|
*
|
|
@@ -8398,19 +8415,23 @@
|
|
|
8398
8415
|
env.error = env.hasError ? new SuppressedError2(e, env.error, "An error was suppressed during disposal.") : e;
|
|
8399
8416
|
env.hasError = true;
|
|
8400
8417
|
}
|
|
8418
|
+
var r, s = 0;
|
|
8401
8419
|
function next() {
|
|
8402
|
-
while (env.stack.
|
|
8403
|
-
var rec = env.stack.pop();
|
|
8420
|
+
while (r = env.stack.pop()) {
|
|
8404
8421
|
try {
|
|
8405
|
-
|
|
8406
|
-
if (
|
|
8407
|
-
|
|
8408
|
-
return next()
|
|
8409
|
-
|
|
8422
|
+
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
8423
|
+
if (r.dispose) {
|
|
8424
|
+
var result = r.dispose.call(r.value);
|
|
8425
|
+
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
|
|
8426
|
+
fail(e);
|
|
8427
|
+
return next();
|
|
8428
|
+
});
|
|
8429
|
+
} else s |= 1;
|
|
8410
8430
|
} catch (e) {
|
|
8411
8431
|
fail(e);
|
|
8412
8432
|
}
|
|
8413
8433
|
}
|
|
8434
|
+
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
8414
8435
|
if (env.hasError) throw env.error;
|
|
8415
8436
|
}
|
|
8416
8437
|
return next();
|
|
@@ -8564,19 +8585,23 @@
|
|
|
8564
8585
|
env.error = env.hasError ? new SuppressedError2(e, env.error, "An error was suppressed during disposal.") : e;
|
|
8565
8586
|
env.hasError = true;
|
|
8566
8587
|
}
|
|
8588
|
+
var r, s = 0;
|
|
8567
8589
|
function next() {
|
|
8568
|
-
while (env.stack.
|
|
8569
|
-
var rec = env.stack.pop();
|
|
8590
|
+
while (r = env.stack.pop()) {
|
|
8570
8591
|
try {
|
|
8571
|
-
|
|
8572
|
-
if (
|
|
8573
|
-
|
|
8574
|
-
return next()
|
|
8575
|
-
|
|
8592
|
+
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
8593
|
+
if (r.dispose) {
|
|
8594
|
+
var result = r.dispose.call(r.value);
|
|
8595
|
+
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
|
|
8596
|
+
fail(e);
|
|
8597
|
+
return next();
|
|
8598
|
+
});
|
|
8599
|
+
} else s |= 1;
|
|
8576
8600
|
} catch (e) {
|
|
8577
8601
|
fail(e);
|
|
8578
8602
|
}
|
|
8579
8603
|
}
|
|
8604
|
+
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
8580
8605
|
if (env.hasError) throw env.error;
|
|
8581
8606
|
}
|
|
8582
8607
|
return next();
|
|
@@ -9927,19 +9952,23 @@
|
|
|
9927
9952
|
env.error = env.hasError ? new SuppressedError2(e, env.error, "An error was suppressed during disposal.") : e;
|
|
9928
9953
|
env.hasError = true;
|
|
9929
9954
|
}
|
|
9955
|
+
var r, s = 0;
|
|
9930
9956
|
function next() {
|
|
9931
|
-
while (env.stack.
|
|
9932
|
-
var rec = env.stack.pop();
|
|
9957
|
+
while (r = env.stack.pop()) {
|
|
9933
9958
|
try {
|
|
9934
|
-
|
|
9935
|
-
if (
|
|
9936
|
-
|
|
9937
|
-
return next()
|
|
9938
|
-
|
|
9959
|
+
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
9960
|
+
if (r.dispose) {
|
|
9961
|
+
var result = r.dispose.call(r.value);
|
|
9962
|
+
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
|
|
9963
|
+
fail(e);
|
|
9964
|
+
return next();
|
|
9965
|
+
});
|
|
9966
|
+
} else s |= 1;
|
|
9939
9967
|
} catch (e) {
|
|
9940
9968
|
fail(e);
|
|
9941
9969
|
}
|
|
9942
9970
|
}
|
|
9971
|
+
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
9943
9972
|
if (env.hasError) throw env.error;
|
|
9944
9973
|
}
|
|
9945
9974
|
return next();
|
|
@@ -10062,19 +10091,23 @@
|
|
|
10062
10091
|
env.error = env.hasError ? new SuppressedError2(e, env.error, "An error was suppressed during disposal.") : e;
|
|
10063
10092
|
env.hasError = true;
|
|
10064
10093
|
}
|
|
10094
|
+
var r, s = 0;
|
|
10065
10095
|
function next() {
|
|
10066
|
-
while (env.stack.
|
|
10067
|
-
var rec = env.stack.pop();
|
|
10096
|
+
while (r = env.stack.pop()) {
|
|
10068
10097
|
try {
|
|
10069
|
-
|
|
10070
|
-
if (
|
|
10071
|
-
|
|
10072
|
-
return next()
|
|
10073
|
-
|
|
10098
|
+
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
10099
|
+
if (r.dispose) {
|
|
10100
|
+
var result = r.dispose.call(r.value);
|
|
10101
|
+
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
|
|
10102
|
+
fail(e);
|
|
10103
|
+
return next();
|
|
10104
|
+
});
|
|
10105
|
+
} else s |= 1;
|
|
10074
10106
|
} catch (e) {
|
|
10075
10107
|
fail(e);
|
|
10076
10108
|
}
|
|
10077
10109
|
}
|
|
10110
|
+
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
10078
10111
|
if (env.hasError) throw env.error;
|
|
10079
10112
|
}
|
|
10080
10113
|
return next();
|
|
@@ -10267,6 +10300,9 @@
|
|
|
10267
10300
|
};
|
|
10268
10301
|
var ATTRIBUTE_REGEXP = /\[\s*(?<attribute>\w+)\s*=\s*(?<quote>"|')(?<value>\\.|.*?(?=\k<quote>))\k<quote>\s*\]/g;
|
|
10269
10302
|
var parseARIASelector = (selector) => {
|
|
10303
|
+
if (selector.length > 1e4) {
|
|
10304
|
+
throw new Error(`Selector ${selector} is too long`);
|
|
10305
|
+
}
|
|
10270
10306
|
const queryOptions = {};
|
|
10271
10307
|
const defaultName = selector.replace(ATTRIBUTE_REGEXP, (_, attribute, __, value) => {
|
|
10272
10308
|
assert(isKnownAttribute(attribute), `Unknown aria attribute "${attribute}" in selector`);
|
|
@@ -10892,19 +10928,23 @@
|
|
|
10892
10928
|
env.error = env.hasError ? new SuppressedError2(e, env.error, "An error was suppressed during disposal.") : e;
|
|
10893
10929
|
env.hasError = true;
|
|
10894
10930
|
}
|
|
10931
|
+
var r, s = 0;
|
|
10895
10932
|
function next() {
|
|
10896
|
-
while (env.stack.
|
|
10897
|
-
var rec = env.stack.pop();
|
|
10933
|
+
while (r = env.stack.pop()) {
|
|
10898
10934
|
try {
|
|
10899
|
-
|
|
10900
|
-
if (
|
|
10901
|
-
|
|
10902
|
-
return next()
|
|
10903
|
-
|
|
10935
|
+
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
10936
|
+
if (r.dispose) {
|
|
10937
|
+
var result = r.dispose.call(r.value);
|
|
10938
|
+
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
|
|
10939
|
+
fail(e);
|
|
10940
|
+
return next();
|
|
10941
|
+
});
|
|
10942
|
+
} else s |= 1;
|
|
10904
10943
|
} catch (e) {
|
|
10905
10944
|
fail(e);
|
|
10906
10945
|
}
|
|
10907
10946
|
}
|
|
10947
|
+
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
10908
10948
|
if (env.hasError) throw env.error;
|
|
10909
10949
|
}
|
|
10910
10950
|
return next();
|
|
@@ -11297,7 +11337,7 @@
|
|
|
11297
11337
|
* await frame.waitForFunction(
|
|
11298
11338
|
* selector => !!document.querySelector(selector),
|
|
11299
11339
|
* {}, // empty options object
|
|
11300
|
-
* selector
|
|
11340
|
+
* selector,
|
|
11301
11341
|
* );
|
|
11302
11342
|
* ```
|
|
11303
11343
|
*
|
|
@@ -11914,19 +11954,23 @@
|
|
|
11914
11954
|
env.error = env.hasError ? new SuppressedError2(e, env.error, "An error was suppressed during disposal.") : e;
|
|
11915
11955
|
env.hasError = true;
|
|
11916
11956
|
}
|
|
11957
|
+
var r, s = 0;
|
|
11917
11958
|
function next() {
|
|
11918
|
-
while (env.stack.
|
|
11919
|
-
var rec = env.stack.pop();
|
|
11959
|
+
while (r = env.stack.pop()) {
|
|
11920
11960
|
try {
|
|
11921
|
-
|
|
11922
|
-
if (
|
|
11923
|
-
|
|
11924
|
-
return next()
|
|
11925
|
-
|
|
11961
|
+
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
11962
|
+
if (r.dispose) {
|
|
11963
|
+
var result = r.dispose.call(r.value);
|
|
11964
|
+
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
|
|
11965
|
+
fail(e);
|
|
11966
|
+
return next();
|
|
11967
|
+
});
|
|
11968
|
+
} else s |= 1;
|
|
11926
11969
|
} catch (e) {
|
|
11927
11970
|
fail(e);
|
|
11928
11971
|
}
|
|
11929
11972
|
}
|
|
11973
|
+
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
11930
11974
|
if (env.hasError) throw env.error;
|
|
11931
11975
|
}
|
|
11932
11976
|
return next();
|
|
@@ -12245,10 +12289,10 @@
|
|
|
12245
12289
|
* ```ts
|
|
12246
12290
|
* const tweetHandle = await page.$('.tweet');
|
|
12247
12291
|
* expect(await tweetHandle.$eval('.like', node => node.innerText)).toBe(
|
|
12248
|
-
* '100'
|
|
12292
|
+
* '100',
|
|
12249
12293
|
* );
|
|
12250
12294
|
* expect(await tweetHandle.$eval('.retweets', node => node.innerText)).toBe(
|
|
12251
|
-
* '10'
|
|
12295
|
+
* '10',
|
|
12252
12296
|
* );
|
|
12253
12297
|
* ```
|
|
12254
12298
|
*
|
|
@@ -12311,7 +12355,7 @@
|
|
|
12311
12355
|
* ```ts
|
|
12312
12356
|
* const feedHandle = await page.$('.feed');
|
|
12313
12357
|
* expect(
|
|
12314
|
-
* await feedHandle.$$eval('.tweet', nodes => nodes.map(n => n.innerText))
|
|
12358
|
+
* await feedHandle.$$eval('.tweet', nodes => nodes.map(n => n.innerText)),
|
|
12315
12359
|
* ).toEqual(['Hello!', 'Hi!']);
|
|
12316
12360
|
* ```
|
|
12317
12361
|
*
|
|
@@ -12447,7 +12491,7 @@
|
|
|
12447
12491
|
*
|
|
12448
12492
|
* ```ts
|
|
12449
12493
|
* const element: ElementHandle<Element> = await page.$(
|
|
12450
|
-
* '.class-name-of-anchor'
|
|
12494
|
+
* '.class-name-of-anchor',
|
|
12451
12495
|
* );
|
|
12452
12496
|
* // DO NOT DISPOSE `element`, this will be always be the same handle.
|
|
12453
12497
|
* const anchor: ElementHandle<HTMLAnchorElement> =
|
|
@@ -13520,19 +13564,23 @@
|
|
|
13520
13564
|
env.error = env.hasError ? new SuppressedError2(e, env.error, "An error was suppressed during disposal.") : e;
|
|
13521
13565
|
env.hasError = true;
|
|
13522
13566
|
}
|
|
13567
|
+
var r, s = 0;
|
|
13523
13568
|
function next() {
|
|
13524
|
-
while (env.stack.
|
|
13525
|
-
var rec = env.stack.pop();
|
|
13569
|
+
while (r = env.stack.pop()) {
|
|
13526
13570
|
try {
|
|
13527
|
-
|
|
13528
|
-
if (
|
|
13529
|
-
|
|
13530
|
-
return next()
|
|
13531
|
-
|
|
13571
|
+
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
13572
|
+
if (r.dispose) {
|
|
13573
|
+
var result = r.dispose.call(r.value);
|
|
13574
|
+
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
|
|
13575
|
+
fail(e);
|
|
13576
|
+
return next();
|
|
13577
|
+
});
|
|
13578
|
+
} else s |= 1;
|
|
13532
13579
|
} catch (e) {
|
|
13533
13580
|
fail(e);
|
|
13534
13581
|
}
|
|
13535
13582
|
}
|
|
13583
|
+
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
13536
13584
|
if (env.hasError) throw env.error;
|
|
13537
13585
|
}
|
|
13538
13586
|
return next();
|
|
@@ -13541,23 +13589,13 @@
|
|
|
13541
13589
|
var e = new Error(message);
|
|
13542
13590
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
13543
13591
|
});
|
|
13544
|
-
var ariaQuerySelectorBinding = new Binding(
|
|
13545
|
-
|
|
13546
|
-
ARIAQueryHandler.
|
|
13547
|
-
|
|
13548
|
-
|
|
13549
|
-
|
|
13550
|
-
|
|
13551
|
-
"__ariaQuerySelectorAll",
|
|
13552
|
-
async (element, selector) => {
|
|
13553
|
-
const results = ARIAQueryHandler.queryAll(element, selector);
|
|
13554
|
-
return await element.realm.evaluateHandle((...elements) => {
|
|
13555
|
-
return elements;
|
|
13556
|
-
}, ...await AsyncIterableUtil.collect(results));
|
|
13557
|
-
},
|
|
13558
|
-
""
|
|
13559
|
-
// custom init
|
|
13560
|
-
);
|
|
13592
|
+
var ariaQuerySelectorBinding = new Binding("__ariaQuerySelector", ARIAQueryHandler.queryOne, "");
|
|
13593
|
+
var ariaQuerySelectorAllBinding = new Binding("__ariaQuerySelectorAll", async (element, selector) => {
|
|
13594
|
+
const results = ARIAQueryHandler.queryAll(element, selector);
|
|
13595
|
+
return await element.realm.evaluateHandle((...elements) => {
|
|
13596
|
+
return elements;
|
|
13597
|
+
}, ...await AsyncIterableUtil.collect(results));
|
|
13598
|
+
}, "");
|
|
13561
13599
|
var ExecutionContext = class extends EventEmitter {
|
|
13562
13600
|
#client;
|
|
13563
13601
|
#world;
|
|
@@ -13719,7 +13757,7 @@
|
|
|
13719
13757
|
* const result = await executionContext.evaluate(
|
|
13720
13758
|
* (a, b) => a + b,
|
|
13721
13759
|
* oneHandle,
|
|
13722
|
-
* twoHandle
|
|
13760
|
+
* twoHandle,
|
|
13723
13761
|
* );
|
|
13724
13762
|
* await oneHandle.dispose();
|
|
13725
13763
|
* await twoHandle.dispose();
|
|
@@ -13749,7 +13787,7 @@
|
|
|
13749
13787
|
* ```ts
|
|
13750
13788
|
* const context = await page.mainFrame().executionContext();
|
|
13751
13789
|
* const handle: JSHandle<typeof globalThis> = await context.evaluateHandle(
|
|
13752
|
-
* () => Promise.resolve(self)
|
|
13790
|
+
* () => Promise.resolve(self),
|
|
13753
13791
|
* );
|
|
13754
13792
|
* ```
|
|
13755
13793
|
*
|
|
@@ -13770,7 +13808,7 @@
|
|
|
13770
13808
|
* });
|
|
13771
13809
|
* const stringHandle: JSHandle<string> = await context.evaluateHandle(
|
|
13772
13810
|
* body => body.innerHTML,
|
|
13773
|
-
* body
|
|
13811
|
+
* body,
|
|
13774
13812
|
* );
|
|
13775
13813
|
* console.log(await stringHandle.jsonValue()); // prints body's innerHTML
|
|
13776
13814
|
* // Always dispose your garbage! :)
|
|
@@ -15890,7 +15928,7 @@ ${sourceUrlComment}
|
|
|
15890
15928
|
return;
|
|
15891
15929
|
}
|
|
15892
15930
|
const firstLine = extraInfo.headersText.split("\r", 1)[0];
|
|
15893
|
-
if (!firstLine) {
|
|
15931
|
+
if (!firstLine || firstLine.length > 1e3) {
|
|
15894
15932
|
return;
|
|
15895
15933
|
}
|
|
15896
15934
|
const match = firstLine.match(/[^ ]* [^ ]* (.*)/);
|
|
@@ -16475,7 +16513,9 @@ ${sourceUrlComment}
|
|
|
16475
16513
|
const requestId = request.id;
|
|
16476
16514
|
const interceptionId = request._interceptionId;
|
|
16477
16515
|
this.#networkEventManager.forgetRequest(requestId);
|
|
16478
|
-
interceptionId !== void 0
|
|
16516
|
+
if (interceptionId !== void 0) {
|
|
16517
|
+
this.#attemptedAuthentications.delete(interceptionId);
|
|
16518
|
+
}
|
|
16479
16519
|
if (events) {
|
|
16480
16520
|
this.#networkEventManager.forget(requestId);
|
|
16481
16521
|
}
|
|
@@ -16583,7 +16623,7 @@ ${sourceUrlComment}
|
|
|
16583
16623
|
});
|
|
16584
16624
|
try {
|
|
16585
16625
|
await swapped.valueOrThrow();
|
|
16586
|
-
} catch
|
|
16626
|
+
} catch {
|
|
16587
16627
|
this.#removeFramesRecursively(mainFrame);
|
|
16588
16628
|
}
|
|
16589
16629
|
}
|
|
@@ -18042,19 +18082,23 @@ ${sourceUrlComment}
|
|
|
18042
18082
|
env.error = env.hasError ? new SuppressedError2(e, env.error, "An error was suppressed during disposal.") : e;
|
|
18043
18083
|
env.hasError = true;
|
|
18044
18084
|
}
|
|
18085
|
+
var r, s = 0;
|
|
18045
18086
|
function next() {
|
|
18046
|
-
while (env.stack.
|
|
18047
|
-
var rec = env.stack.pop();
|
|
18087
|
+
while (r = env.stack.pop()) {
|
|
18048
18088
|
try {
|
|
18049
|
-
|
|
18050
|
-
if (
|
|
18051
|
-
|
|
18052
|
-
return next()
|
|
18053
|
-
|
|
18089
|
+
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
18090
|
+
if (r.dispose) {
|
|
18091
|
+
var result = r.dispose.call(r.value);
|
|
18092
|
+
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) {
|
|
18093
|
+
fail(e);
|
|
18094
|
+
return next();
|
|
18095
|
+
});
|
|
18096
|
+
} else s |= 1;
|
|
18054
18097
|
} catch (e) {
|
|
18055
18098
|
fail(e);
|
|
18056
18099
|
}
|
|
18057
18100
|
}
|
|
18101
|
+
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
18058
18102
|
if (env.hasError) throw env.error;
|
|
18059
18103
|
}
|
|
18060
18104
|
return next();
|
|
@@ -18821,7 +18865,7 @@ ${sourceUrlComment}
|
|
|
18821
18865
|
* page.click('#connect-bluetooth'),
|
|
18822
18866
|
* ]);
|
|
18823
18867
|
* await devicePrompt.select(
|
|
18824
|
-
* await devicePrompt.waitForDevice(({name}) => name.includes('My Device'))
|
|
18868
|
+
* await devicePrompt.waitForDevice(({name}) => name.includes('My Device')),
|
|
18825
18869
|
* );
|
|
18826
18870
|
* ```
|
|
18827
18871
|
*/
|
|
@@ -19318,7 +19362,9 @@ ${sourceUrlComment}
|
|
|
19318
19362
|
]).catch(debugError);
|
|
19319
19363
|
};
|
|
19320
19364
|
#finishInitializationIfReady(targetId) {
|
|
19321
|
-
targetId !== void 0
|
|
19365
|
+
if (targetId !== void 0) {
|
|
19366
|
+
this.#targetsIdsForInit.delete(targetId);
|
|
19367
|
+
}
|
|
19322
19368
|
if (this.#targetsIdsForInit.size === 0) {
|
|
19323
19369
|
this.#initializeDeferred.resolve();
|
|
19324
19370
|
}
|