@skrillex1224/playwright-toolkit 2.1.281 → 2.1.282

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
@@ -4735,53 +4735,8 @@ var resolveDeviceFromPage3 = (page) => normalizeDevice(page?.[PageRuntimeStateKe
4735
4735
  var isMobilePage = (page) => resolveDeviceFromPage3(page) === Device.Mobile;
4736
4736
  var isPageLike2 = (value) => value && typeof value === "object" && typeof value.evaluate === "function";
4737
4737
  var isPoint2 = (value) => value && typeof value === "object" && Number.isFinite(Number(value.x)) && Number.isFinite(Number(value.y));
4738
- var resolveNativeTarget2 = (page, target) => typeof target === "string" ? page.locator(target).first() : target;
4739
- var getViewportCenter = (page) => {
4740
- const viewport = page?.viewportSize?.() || { width: 1365, height: 900 };
4741
- return {
4742
- x: Math.round(viewport.width / 2),
4743
- y: Math.round(viewport.height / 2)
4744
- };
4745
- };
4746
- var readViewportScroll = async (page) => await page.evaluate(() => ({ x: window.scrollX, y: window.scrollY })).catch(() => ({ x: 0, y: 0 }));
4747
- var getTargetBox = async (target) => {
4748
- if (!target || typeof target.boundingBox !== "function") {
4749
- return null;
4750
- }
4751
- return await target.boundingBox().catch(() => null);
4752
- };
4753
- var clickOptionsFrom = (options = {}) => {
4754
- const nextOptions = {
4755
- force: true
4756
- };
4757
- if (options.timeout != null) {
4758
- nextOptions.timeout = options.timeout;
4759
- }
4760
- return nextOptions;
4761
- };
4762
- var typeOptionsFrom = (options = {}) => {
4763
- const nextOptions = {};
4764
- if (options.timeout != null) {
4765
- nextOptions.timeout = options.timeout;
4766
- }
4767
- if (options.baseDelay != null) {
4768
- nextOptions.delay = Math.max(0, Number(options.baseDelay) || 0);
4769
- }
4770
- return nextOptions;
4771
- };
4772
- var pressOptionsFrom = (options = {}) => {
4773
- const nextOptions = {};
4774
- if (options.timeout != null) {
4775
- nextOptions.timeout = options.timeout;
4776
- }
4777
- if (options.holdDelay != null) {
4778
- nextOptions.delay = Math.max(0, Number(options.holdDelay) || 0);
4779
- }
4780
- return nextOptions;
4781
- };
4782
- var waitDesktopJitter = async (baseMs, jitterPercent = 0.3) => {
4783
- await (0, import_delay4.default)(jitterMs(baseMs, jitterPercent));
4784
- };
4738
+ var resolveTarget = (page, target) => typeof target === "string" ? page.locator(target).first() : target;
4739
+ var sleep = (base, jitter = 0.3) => (0, import_delay4.default)(jitterMs(base, jitter));
4785
4740
  var DesktopCloakHumanize = {
4786
4741
  jitterMs(base, jitterPercent = 0.3) {
4787
4742
  return jitterMs(base, jitterPercent);
@@ -4790,43 +4745,23 @@ var DesktopCloakHumanize = {
4790
4745
  return Boolean(page);
4791
4746
  },
4792
4747
  async humanMove(page, target) {
4793
- if (target == null) {
4794
- return false;
4795
- }
4748
+ if (target == null) return false;
4796
4749
  if (isPoint2(target)) {
4797
4750
  await page.mouse.move(Number(target.x), Number(target.y));
4798
4751
  return true;
4799
4752
  }
4800
- const resolvedTarget = resolveNativeTarget2(page, target);
4801
- if (typeof resolvedTarget?.hover === "function") {
4802
- await resolvedTarget.hover(clickOptionsFrom());
4803
- return true;
4804
- }
4805
- const box = await getTargetBox(resolvedTarget);
4806
- if (!box) {
4807
- return false;
4808
- }
4809
- await page.mouse.move(box.x + box.width / 2, box.y + box.height / 2);
4753
+ await resolveTarget(page, target).hover();
4810
4754
  return true;
4811
4755
  },
4812
4756
  async humanScroll(page, target) {
4813
- const resolvedTarget = resolveNativeTarget2(page, target);
4814
- if (!resolvedTarget) {
4815
- return { element: null, didScroll: false, restore: null };
4816
- }
4817
- const before = await readViewportScroll(page);
4818
- await resolvedTarget.scrollIntoViewIfNeeded?.();
4819
- const after = await readViewportScroll(page);
4820
- return {
4821
- element: resolvedTarget,
4822
- didScroll: before.x !== after.x || before.y !== after.y,
4823
- restore: null
4824
- };
4757
+ const element = resolveTarget(page, target);
4758
+ if (!element) return { element: null, didScroll: false, restore: null };
4759
+ await element.scrollIntoViewIfNeeded?.();
4760
+ return { element, didScroll: true, restore: null };
4825
4761
  },
4826
- async humanClick(page, target, options = {}) {
4762
+ async humanClick(page, target) {
4827
4763
  if (target == null) {
4828
- const center = getViewportCenter(page);
4829
- await page.mouse.click(center.x, center.y);
4764
+ await page.mouse.click(0, 0);
4830
4765
  return true;
4831
4766
  }
4832
4767
  if (isPoint2(target)) {
@@ -4834,22 +4769,14 @@ var DesktopCloakHumanize = {
4834
4769
  return true;
4835
4770
  }
4836
4771
  if (typeof target === "string") {
4837
- await page.click(target, clickOptionsFrom(options));
4838
- return true;
4839
- }
4840
- if (typeof target?.click === "function") {
4841
- await target.click(clickOptionsFrom(options));
4772
+ await page.click(target);
4842
4773
  return true;
4843
4774
  }
4844
- const box = await getTargetBox(target);
4845
- if (!box) {
4846
- return false;
4847
- }
4848
- await page.mouse.click(box.x + box.width / 2, box.y + box.height / 2);
4775
+ await target.click();
4849
4776
  return true;
4850
4777
  },
4851
4778
  async randomSleep(baseMs, jitterPercent = 0.3) {
4852
- await waitDesktopJitter(baseMs, jitterPercent);
4779
+ await sleep(baseMs, jitterPercent);
4853
4780
  },
4854
4781
  async simulateGaze(page, baseDurationMs = 2500) {
4855
4782
  const durationMs = jitterMs(baseDurationMs, 0.4);
@@ -4860,77 +4787,49 @@ var DesktopCloakHumanize = {
4860
4787
  100 + Math.random() * Math.max(120, viewport.width - 200),
4861
4788
  100 + Math.random() * Math.max(120, viewport.height - 200)
4862
4789
  );
4863
- await waitDesktopJitter(600, 0.5);
4790
+ await sleep(300, 0.5);
4864
4791
  }
4865
4792
  },
4866
- async humanType(page, selector, text, options = {}) {
4793
+ async humanType(page, selector, text) {
4867
4794
  if (typeof selector === "string") {
4868
- await page.type(selector, text, typeOptionsFrom(options));
4795
+ await page.type(selector, text);
4869
4796
  return;
4870
4797
  }
4871
- await selector.type(text, typeOptionsFrom(options));
4798
+ await selector.type(text);
4872
4799
  },
4873
- async humanPress(page, targetOrKey, maybeKey, options = {}) {
4874
- const hasTarget = typeof maybeKey === "string";
4875
- const key = hasTarget ? maybeKey : targetOrKey;
4876
- const pressOptions = hasTarget ? options : maybeKey || options;
4877
- if (!hasTarget) {
4878
- await page.keyboard.press(key, pressOptionsFrom(pressOptions));
4800
+ async humanPress(page, targetOrKey, maybeKey) {
4801
+ if (typeof maybeKey !== "string") {
4802
+ await page.keyboard.press(targetOrKey);
4879
4803
  return true;
4880
4804
  }
4881
4805
  if (typeof targetOrKey === "string") {
4882
- await page.press(targetOrKey, key, pressOptionsFrom(pressOptions));
4806
+ await page.press(targetOrKey, maybeKey);
4883
4807
  return true;
4884
4808
  }
4885
- if (typeof targetOrKey?.press === "function") {
4886
- await targetOrKey.press(key, pressOptionsFrom(pressOptions));
4887
- return true;
4888
- }
4889
- await page.keyboard.press(key, pressOptionsFrom(pressOptions));
4809
+ await targetOrKey.press(maybeKey);
4890
4810
  return true;
4891
4811
  },
4892
4812
  async humanClear(page, selector) {
4893
4813
  if (typeof selector === "string") {
4894
- if (typeof page.clear === "function") {
4895
- await page.clear(selector, clickOptionsFrom());
4896
- return;
4897
- }
4898
- await page.fill(selector, "", clickOptionsFrom());
4899
- return;
4900
- }
4901
- if (typeof selector?.clear === "function") {
4902
- await selector.clear(clickOptionsFrom());
4903
- return;
4904
- }
4905
- if (typeof selector?.fill === "function") {
4906
- await selector.fill("", clickOptionsFrom());
4814
+ await page.fill(selector, "");
4907
4815
  return;
4908
4816
  }
4817
+ await selector.fill("");
4909
4818
  },
4910
4819
  async warmUpBrowsing(page, baseDuration = 3500) {
4911
- const durationMs = jitterMs(baseDuration, 0.4);
4912
- const startedAt = Date.now();
4913
- while (Date.now() - startedAt < durationMs) {
4914
- await this.simulateGaze(page, 240);
4915
- await this.naturalScroll(page, Math.random() > 0.4 ? "down" : "up", 160, 3);
4916
- await waitDesktopJitter(250, 0.35);
4917
- }
4820
+ await this.simulateGaze(page, Math.min(baseDuration, 900));
4918
4821
  },
4919
4822
  async naturalScroll(page, direction = "down", distance = 300, baseSteps = 5) {
4920
4823
  const steps = Math.max(1, Number(baseSteps) || 1);
4921
- const stepDistance = (Number(distance) || 0) / steps;
4922
- const sign = direction === "down" ? 1 : -1;
4824
+ const delta = (Number(distance) || 0) / steps * (direction === "down" ? 1 : -1);
4923
4825
  for (let index = 0; index < steps; index += 1) {
4924
- await page.mouse.wheel(0, stepDistance * sign);
4925
- await waitDesktopJitter(60 + index * 20, 0.3);
4826
+ await page.mouse.wheel(0, delta);
4827
+ await sleep(60 + index * 20, 0.3);
4926
4828
  }
4927
4829
  }
4928
4830
  };
4929
4831
  var resolveDelegate2 = (page) => isMobilePage(page) ? MobileHumanize : DesktopCloakHumanize;
4930
- var callDelegate2 = (method, page, args) => {
4931
- const delegate = resolveDelegate2(page);
4932
- return delegate[method](page, ...args);
4933
- };
4832
+ var callDelegate2 = (method, page, args) => resolveDelegate2(page)[method](page, ...args);
4934
4833
  var CloakBrowserHumanize = {
4935
4834
  jitterMs(base, jitterPercent = 0.3) {
4936
4835
  return jitterMs(base, jitterPercent);
@@ -4949,8 +4848,7 @@ var CloakBrowserHumanize = {
4949
4848
  },
4950
4849
  randomSleep(pageOrBaseMs, maybeBaseMs, maybeJitterPercent) {
4951
4850
  if (isPageLike2(pageOrBaseMs)) {
4952
- const delegate = resolveDelegate2(pageOrBaseMs);
4953
- return delegate.randomSleep(maybeBaseMs, maybeJitterPercent);
4851
+ return resolveDelegate2(pageOrBaseMs).randomSleep(maybeBaseMs, maybeJitterPercent);
4954
4852
  }
4955
4853
  return DesktopCloakHumanize.randomSleep(pageOrBaseMs, maybeBaseMs);
4956
4854
  },
@@ -6776,7 +6674,7 @@ var Mutation = {
6776
6674
  const overallTimeout = options.timeout ?? 180 * 1e3;
6777
6675
  const onMutation = options.onMutation;
6778
6676
  const pollInterval = 500;
6779
- const sleep = (ms) => new Promise((resolve) => {
6677
+ const sleep2 = (ms) => new Promise((resolve) => {
6780
6678
  setTimeout(resolve, ms);
6781
6679
  });
6782
6680
  const truncate = (value, max = 800) => {
@@ -6968,7 +6866,7 @@ var Mutation = {
6968
6866
  const deadline = Date.now() + overallTimeout;
6969
6867
  let lastState = state2;
6970
6868
  while (Date.now() < deadline) {
6971
- await sleep(pollInterval);
6869
+ await sleep2(pollInterval);
6972
6870
  lastState = await buildState();
6973
6871
  if (!lastState?.hasMatched) {
6974
6872
  continue;