@letsscrapedata/controller 0.0.40 → 0.0.42

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 CHANGED
@@ -314,9 +314,9 @@ var PlaywrightElement = class _PlaywrightElement {
314
314
  return true;
315
315
  }
316
316
  async setAttribute(attributeName, newValue) {
317
- await this.#locator.evaluate((node) => {
318
- node.setAttribute(attributeName, newValue);
319
- });
317
+ await this.#locator.evaluate((node, argvs) => {
318
+ node.setAttribute(argvs[0], argvs[1]);
319
+ }, [attributeName, newValue]);
320
320
  return true;
321
321
  }
322
322
  _origElement() {
@@ -1439,37 +1439,43 @@ var PlaywrightBrowserContext = class extends import_node_events2.default {
1439
1439
  if (!this.#browserContext) {
1440
1440
  throw new Error("No valid browserContext");
1441
1441
  }
1442
- const { cookies, localStorage: localStorageOrigins } = stateData;
1443
- const page = await this.getPage();
1444
- if (!page) {
1445
- return false;
1446
- }
1447
- const origPage = page._origPage();
1448
- if (cookies.length > 0) {
1449
- await this.#browserContext.addCookies(cookies);
1450
- }
1451
- if (localStorageOrigins.length > 0) {
1452
- await origPage.route("**/*", async (route) => {
1453
- const request = route.request();
1454
- await route.fulfill({
1455
- status: 200,
1456
- // contentType: "text/html; charset=utf-8", // "text/plain",
1457
- body: `<html><body><h1>${request.url()}</h1></body></html>`
1442
+ try {
1443
+ const { cookies, localStorage: localStorageOrigins } = stateData;
1444
+ const page = await this.getPage();
1445
+ if (!page) {
1446
+ return false;
1447
+ }
1448
+ const origPage = page._origPage();
1449
+ if (cookies.length > 0) {
1450
+ await this.#browserContext.addCookies(cookies);
1451
+ }
1452
+ if (localStorageOrigins.length > 0) {
1453
+ await origPage.route("**/*", async (route) => {
1454
+ const request = route.request();
1455
+ await route.fulfill({
1456
+ status: 200,
1457
+ // contentType: "text/html; charset=utf-8", // "text/plain",
1458
+ body: `<html><body><h1>${request.url()}</h1></body></html>`
1459
+ });
1458
1460
  });
1459
- });
1460
- for (const localStorageOrigin of localStorageOrigins) {
1461
- const { origin, localStorage } = localStorageOrigin;
1462
- await origPage.goto(origin);
1463
- await origPage.evaluate((localStorageItems) => {
1464
- for (const item of localStorageItems) {
1465
- window.localStorage.setItem(item.name, item.value);
1466
- }
1467
- }, localStorage);
1461
+ for (const localStorageOrigin of localStorageOrigins) {
1462
+ const { origin, localStorage } = localStorageOrigin;
1463
+ await origPage.goto(origin);
1464
+ await origPage.evaluate((localStorageItems) => {
1465
+ for (const item of localStorageItems) {
1466
+ window.localStorage.setItem(item.name, item.value);
1467
+ }
1468
+ }, localStorage);
1469
+ }
1468
1470
  }
1471
+ await (0, import_utils3.sleep)(2e3);
1472
+ await origPage.unrouteAll();
1473
+ await page.free();
1474
+ return true;
1475
+ } catch (err) {
1476
+ (0, import_utils3.logerr)(err);
1477
+ return false;
1469
1478
  }
1470
- await origPage.unrouteAll();
1471
- await page.free();
1472
- return true;
1473
1479
  }
1474
1480
  _origBrowserContext() {
1475
1481
  return this.#browserContext;
@@ -1619,7 +1625,7 @@ var PlaywrightBrowser = class extends import_node_events3.default {
1619
1625
  }
1620
1626
  doesMeetBrowserContextRequirements(browserContextRequirements) {
1621
1627
  const { browserControllerTypes, browserTypes, headlesses } = browserContextRequirements;
1622
- return (browserControllerTypes.length === 0 || browserControllerTypes.includes(this.#browserControllerType)) && (browserTypes.length === 0 && browserTypes.includes(this.#browserType)) && (headlesses.length === 0 && headlesses.includes(this.#headless));
1628
+ return (browserControllerTypes.length === 0 || browserControllerTypes.includes(this.#browserControllerType)) && (browserTypes.length === 0 || browserTypes.includes(this.#browserType)) && (headlesses.length === 0 || headlesses.includes(this.#headless));
1623
1629
  }
1624
1630
  executablePath() {
1625
1631
  return this.#executablePath;
@@ -2978,37 +2984,43 @@ var PuppeteerBrowserContext = class extends import_node_events5.default {
2978
2984
  if (!this.#browserContext) {
2979
2985
  throw new Error("No valid browserContext");
2980
2986
  }
2981
- const { cookies, localStorage: localStorageOrigins } = stateData;
2982
- const page = await this.getPage();
2983
- if (!page) {
2984
- return false;
2985
- }
2986
- const origPage = page._origPage();
2987
- if (cookies.length > 0) {
2988
- await origPage.setCookie(...cookies);
2989
- }
2990
- if (localStorageOrigins.length > 0) {
2991
- await origPage.setRequestInterception(true);
2992
- origPage.on("request", (request) => {
2993
- request.respond({
2994
- status: 200,
2995
- // contentType: "text/html; charset=utf-8", // "text/plain",
2996
- body: `<html><body><h1>${request.url()}</h1></body></html>`
2987
+ try {
2988
+ const { cookies, localStorage: localStorageOrigins } = stateData;
2989
+ const page = await this.getPage();
2990
+ if (!page) {
2991
+ return false;
2992
+ }
2993
+ const origPage = page._origPage();
2994
+ if (cookies.length > 0) {
2995
+ await origPage.setCookie(...cookies);
2996
+ }
2997
+ if (localStorageOrigins.length > 0) {
2998
+ await origPage.setRequestInterception(true);
2999
+ origPage.on("request", (request) => {
3000
+ request.respond({
3001
+ status: 200,
3002
+ // contentType: "text/html; charset=utf-8", // "text/plain",
3003
+ body: `<html><body><h1>${request.url()}</h1></body></html>`
3004
+ });
2997
3005
  });
2998
- });
2999
- for (const localStorageOrigin of localStorageOrigins) {
3000
- const { origin, localStorage } = localStorageOrigin;
3001
- await origPage.goto(origin);
3002
- await origPage.evaluate((localStorageItems) => {
3003
- for (const item of localStorageItems) {
3004
- window.localStorage.setItem(item.name, item.value);
3005
- }
3006
- }, localStorage);
3006
+ for (const localStorageOrigin of localStorageOrigins) {
3007
+ const { origin, localStorage } = localStorageOrigin;
3008
+ await origPage.goto(origin);
3009
+ await origPage.evaluate((localStorageItems) => {
3010
+ for (const item of localStorageItems) {
3011
+ window.localStorage.setItem(item.name, item.value);
3012
+ }
3013
+ }, localStorage);
3014
+ }
3007
3015
  }
3016
+ await (0, import_utils7.sleep)(2e3);
3017
+ await origPage.setRequestInterception(false);
3018
+ await page.free();
3019
+ return true;
3020
+ } catch (err) {
3021
+ (0, import_utils7.logerr)(err);
3022
+ return false;
3008
3023
  }
3009
- await origPage.setRequestInterception(false);
3010
- await page.free();
3011
- return true;
3012
3024
  }
3013
3025
  _origBrowserContext() {
3014
3026
  return this.#browserContext;
@@ -3154,7 +3166,7 @@ var PuppeteerBrowser = class extends import_node_events6.default {
3154
3166
  }
3155
3167
  doesMeetBrowserContextRequirements(browserContextRequirements) {
3156
3168
  const { browserControllerTypes, browserTypes, headlesses } = browserContextRequirements;
3157
- return (browserControllerTypes.length === 0 || browserControllerTypes.includes(this.#browserControllerType)) && (browserTypes.length === 0 && browserTypes.includes(this.#browserType)) && (headlesses.length === 0 && headlesses.includes(this.#headless));
3169
+ return (browserControllerTypes.length === 0 || browserControllerTypes.includes(this.#browserControllerType)) && (browserTypes.length === 0 || browserTypes.includes(this.#browserType)) && (headlesses.length === 0 || headlesses.includes(this.#headless));
3158
3170
  }
3159
3171
  executablePath() {
3160
3172
  return this.#executablePath;
package/dist/index.js CHANGED
@@ -268,9 +268,9 @@ var PlaywrightElement = class _PlaywrightElement {
268
268
  return true;
269
269
  }
270
270
  async setAttribute(attributeName, newValue) {
271
- await this.#locator.evaluate((node) => {
272
- node.setAttribute(attributeName, newValue);
273
- });
271
+ await this.#locator.evaluate((node, argvs) => {
272
+ node.setAttribute(argvs[0], argvs[1]);
273
+ }, [attributeName, newValue]);
274
274
  return true;
275
275
  }
276
276
  _origElement() {
@@ -1393,37 +1393,43 @@ var PlaywrightBrowserContext = class extends EventEmitter2 {
1393
1393
  if (!this.#browserContext) {
1394
1394
  throw new Error("No valid browserContext");
1395
1395
  }
1396
- const { cookies, localStorage: localStorageOrigins } = stateData;
1397
- const page = await this.getPage();
1398
- if (!page) {
1399
- return false;
1400
- }
1401
- const origPage = page._origPage();
1402
- if (cookies.length > 0) {
1403
- await this.#browserContext.addCookies(cookies);
1404
- }
1405
- if (localStorageOrigins.length > 0) {
1406
- await origPage.route("**/*", async (route) => {
1407
- const request = route.request();
1408
- await route.fulfill({
1409
- status: 200,
1410
- // contentType: "text/html; charset=utf-8", // "text/plain",
1411
- body: `<html><body><h1>${request.url()}</h1></body></html>`
1396
+ try {
1397
+ const { cookies, localStorage: localStorageOrigins } = stateData;
1398
+ const page = await this.getPage();
1399
+ if (!page) {
1400
+ return false;
1401
+ }
1402
+ const origPage = page._origPage();
1403
+ if (cookies.length > 0) {
1404
+ await this.#browserContext.addCookies(cookies);
1405
+ }
1406
+ if (localStorageOrigins.length > 0) {
1407
+ await origPage.route("**/*", async (route) => {
1408
+ const request = route.request();
1409
+ await route.fulfill({
1410
+ status: 200,
1411
+ // contentType: "text/html; charset=utf-8", // "text/plain",
1412
+ body: `<html><body><h1>${request.url()}</h1></body></html>`
1413
+ });
1412
1414
  });
1413
- });
1414
- for (const localStorageOrigin of localStorageOrigins) {
1415
- const { origin, localStorage } = localStorageOrigin;
1416
- await origPage.goto(origin);
1417
- await origPage.evaluate((localStorageItems) => {
1418
- for (const item of localStorageItems) {
1419
- window.localStorage.setItem(item.name, item.value);
1420
- }
1421
- }, localStorage);
1415
+ for (const localStorageOrigin of localStorageOrigins) {
1416
+ const { origin, localStorage } = localStorageOrigin;
1417
+ await origPage.goto(origin);
1418
+ await origPage.evaluate((localStorageItems) => {
1419
+ for (const item of localStorageItems) {
1420
+ window.localStorage.setItem(item.name, item.value);
1421
+ }
1422
+ }, localStorage);
1423
+ }
1422
1424
  }
1425
+ await sleep(2e3);
1426
+ await origPage.unrouteAll();
1427
+ await page.free();
1428
+ return true;
1429
+ } catch (err) {
1430
+ logerr2(err);
1431
+ return false;
1423
1432
  }
1424
- await origPage.unrouteAll();
1425
- await page.free();
1426
- return true;
1427
1433
  }
1428
1434
  _origBrowserContext() {
1429
1435
  return this.#browserContext;
@@ -1573,7 +1579,7 @@ var PlaywrightBrowser = class extends EventEmitter3 {
1573
1579
  }
1574
1580
  doesMeetBrowserContextRequirements(browserContextRequirements) {
1575
1581
  const { browserControllerTypes, browserTypes, headlesses } = browserContextRequirements;
1576
- return (browserControllerTypes.length === 0 || browserControllerTypes.includes(this.#browserControllerType)) && (browserTypes.length === 0 && browserTypes.includes(this.#browserType)) && (headlesses.length === 0 && headlesses.includes(this.#headless));
1582
+ return (browserControllerTypes.length === 0 || browserControllerTypes.includes(this.#browserControllerType)) && (browserTypes.length === 0 || browserTypes.includes(this.#browserType)) && (headlesses.length === 0 || headlesses.includes(this.#headless));
1577
1583
  }
1578
1584
  executablePath() {
1579
1585
  return this.#executablePath;
@@ -2932,37 +2938,43 @@ var PuppeteerBrowserContext = class extends EventEmitter5 {
2932
2938
  if (!this.#browserContext) {
2933
2939
  throw new Error("No valid browserContext");
2934
2940
  }
2935
- const { cookies, localStorage: localStorageOrigins } = stateData;
2936
- const page = await this.getPage();
2937
- if (!page) {
2938
- return false;
2939
- }
2940
- const origPage = page._origPage();
2941
- if (cookies.length > 0) {
2942
- await origPage.setCookie(...cookies);
2943
- }
2944
- if (localStorageOrigins.length > 0) {
2945
- await origPage.setRequestInterception(true);
2946
- origPage.on("request", (request) => {
2947
- request.respond({
2948
- status: 200,
2949
- // contentType: "text/html; charset=utf-8", // "text/plain",
2950
- body: `<html><body><h1>${request.url()}</h1></body></html>`
2941
+ try {
2942
+ const { cookies, localStorage: localStorageOrigins } = stateData;
2943
+ const page = await this.getPage();
2944
+ if (!page) {
2945
+ return false;
2946
+ }
2947
+ const origPage = page._origPage();
2948
+ if (cookies.length > 0) {
2949
+ await origPage.setCookie(...cookies);
2950
+ }
2951
+ if (localStorageOrigins.length > 0) {
2952
+ await origPage.setRequestInterception(true);
2953
+ origPage.on("request", (request) => {
2954
+ request.respond({
2955
+ status: 200,
2956
+ // contentType: "text/html; charset=utf-8", // "text/plain",
2957
+ body: `<html><body><h1>${request.url()}</h1></body></html>`
2958
+ });
2951
2959
  });
2952
- });
2953
- for (const localStorageOrigin of localStorageOrigins) {
2954
- const { origin, localStorage } = localStorageOrigin;
2955
- await origPage.goto(origin);
2956
- await origPage.evaluate((localStorageItems) => {
2957
- for (const item of localStorageItems) {
2958
- window.localStorage.setItem(item.name, item.value);
2959
- }
2960
- }, localStorage);
2960
+ for (const localStorageOrigin of localStorageOrigins) {
2961
+ const { origin, localStorage } = localStorageOrigin;
2962
+ await origPage.goto(origin);
2963
+ await origPage.evaluate((localStorageItems) => {
2964
+ for (const item of localStorageItems) {
2965
+ window.localStorage.setItem(item.name, item.value);
2966
+ }
2967
+ }, localStorage);
2968
+ }
2961
2969
  }
2970
+ await sleep2(2e3);
2971
+ await origPage.setRequestInterception(false);
2972
+ await page.free();
2973
+ return true;
2974
+ } catch (err) {
2975
+ logerr6(err);
2976
+ return false;
2962
2977
  }
2963
- await origPage.setRequestInterception(false);
2964
- await page.free();
2965
- return true;
2966
2978
  }
2967
2979
  _origBrowserContext() {
2968
2980
  return this.#browserContext;
@@ -3108,7 +3120,7 @@ var PuppeteerBrowser = class extends EventEmitter6 {
3108
3120
  }
3109
3121
  doesMeetBrowserContextRequirements(browserContextRequirements) {
3110
3122
  const { browserControllerTypes, browserTypes, headlesses } = browserContextRequirements;
3111
- return (browserControllerTypes.length === 0 || browserControllerTypes.includes(this.#browserControllerType)) && (browserTypes.length === 0 && browserTypes.includes(this.#browserType)) && (headlesses.length === 0 && headlesses.includes(this.#headless));
3123
+ return (browserControllerTypes.length === 0 || browserControllerTypes.includes(this.#browserControllerType)) && (browserTypes.length === 0 || browserTypes.includes(this.#browserType)) && (headlesses.length === 0 || headlesses.includes(this.#headless));
3112
3124
  }
3113
3125
  executablePath() {
3114
3126
  return this.#executablePath;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@letsscrapedata/controller",
3
- "version": "0.0.40",
3
+ "version": "0.0.42",
4
4
  "description": "Unified browser / HTML controller interfaces that support playwright, puppeteer and cheerio",
5
5
  "type": "module",
6
6
  "main": "./dist/index.mjs",