@skrillex1224/playwright-toolkit 2.1.278 → 2.1.279

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.js CHANGED
@@ -4683,38 +4683,13 @@ var buildActionOptions = (options = {}) => {
4683
4683
  if (options && options.timeout != null) {
4684
4684
  actionOptions.timeout = options.timeout;
4685
4685
  }
4686
- if (options && options.force != null) {
4687
- actionOptions.force = options.force;
4688
- }
4686
+ actionOptions.force = true;
4689
4687
  const humanConfig = buildTypingHumanConfig(options);
4690
4688
  if (humanConfig) {
4691
4689
  actionOptions.human_config = humanConfig;
4692
4690
  }
4693
4691
  return actionOptions;
4694
4692
  };
4695
- var getErrorMessage = (error) => {
4696
- if (typeof error === "string") return error;
4697
- if (error && typeof error.message === "string") return error.message;
4698
- return String(error ?? "");
4699
- };
4700
- var isPointerEventsCoveredError = (error) => {
4701
- const message = getErrorMessage(error).toLowerCase();
4702
- return message.includes("pointer_events") && (message.includes("covered by") || message.includes("receiving events"));
4703
- };
4704
- var withPointerEventsForceFallback = async (label, options, operation) => {
4705
- try {
4706
- return await operation(options);
4707
- } catch (error) {
4708
- if (options?.force || !isPointerEventsCoveredError(error)) {
4709
- throw error;
4710
- }
4711
- logger7.warn(`${label}: cloakbrowser pointer_events check failed, retrying with force=true (${getErrorMessage(error)})`);
4712
- return await operation({
4713
- ...options || {},
4714
- force: true
4715
- });
4716
- }
4717
- };
4718
4693
  var ensureDesktopHumanized = async (page) => {
4719
4694
  if (!page || typeof page !== "object") {
4720
4695
  throw new Error("Humanize requires a Playwright page");
@@ -4792,55 +4767,53 @@ var humanMoveToPoint = async (page, point) => {
4792
4767
  };
4793
4768
  var doDesktopHumanClick = async (page, target, options = {}) => {
4794
4769
  await ensureDesktopHumanized(page);
4795
- return await withPointerEventsForceFallback("humanClick", options, async (effectiveOptions = {}) => {
4796
- if (target == null) {
4797
- const cursor = page._humanCursor || { x: 0, y: 0 };
4798
- await page.mouse.click(cursor.x || 0, cursor.y || 0);
4770
+ if (target == null) {
4771
+ const cursor = page._humanCursor || { x: 0, y: 0 };
4772
+ await page.mouse.click(cursor.x || 0, cursor.y || 0);
4773
+ return true;
4774
+ }
4775
+ if (isPoint2(target)) {
4776
+ return humanMoveToPoint(page, target).then(async () => {
4777
+ await page.mouse.click(Number(target.x), Number(target.y));
4799
4778
  return true;
4800
- }
4801
- if (isPoint2(target)) {
4802
- return humanMoveToPoint(page, target).then(async () => {
4803
- await page.mouse.click(Number(target.x), Number(target.y));
4804
- return true;
4805
- });
4806
- }
4807
- const throwOnMissing = effectiveOptions.throwOnMissing !== false;
4808
- if (typeof target === "string") {
4809
- if (!throwOnMissing) {
4810
- const existingHandle = await page.$(target);
4811
- if (!existingHandle) {
4812
- return false;
4813
- }
4814
- await existingHandle.click(buildActionOptions(effectiveOptions));
4815
- return true;
4779
+ });
4780
+ }
4781
+ const throwOnMissing = options.throwOnMissing !== false;
4782
+ if (typeof target === "string") {
4783
+ if (!throwOnMissing) {
4784
+ const existingHandle = await page.$(target);
4785
+ if (!existingHandle) {
4786
+ return false;
4816
4787
  }
4817
- await page.click(target, buildActionOptions(effectiveOptions));
4788
+ await existingHandle.click(buildActionOptions(options));
4818
4789
  return true;
4819
4790
  }
4820
- const { target: resolvedTarget, dispose } = await resolvePatchedTarget(page, target, { throwOnMissing });
4821
- try {
4822
- if (!resolvedTarget) {
4823
- return false;
4824
- }
4825
- if (typeof resolvedTarget.click === "function") {
4826
- await resolvedTarget.click(buildActionOptions(effectiveOptions));
4827
- return true;
4828
- }
4829
- const box = await resolvedTarget.boundingBox?.();
4830
- if (!box) {
4831
- if (throwOnMissing) {
4832
- throw new Error("\u65E0\u6CD5\u83B7\u53D6\u5143\u7D20\u4F4D\u7F6E");
4833
- }
4834
- return false;
4835
- }
4836
- await page.mouse.click(box.x + box.width / 2, box.y + box.height / 2);
4791
+ await page.click(target, buildActionOptions(options));
4792
+ return true;
4793
+ }
4794
+ const { target: resolvedTarget, dispose } = await resolvePatchedTarget(page, target, { throwOnMissing });
4795
+ try {
4796
+ if (!resolvedTarget) {
4797
+ return false;
4798
+ }
4799
+ if (typeof resolvedTarget.click === "function") {
4800
+ await resolvedTarget.click(buildActionOptions(options));
4837
4801
  return true;
4838
- } finally {
4839
- if (typeof dispose === "function") {
4840
- await dispose();
4802
+ }
4803
+ const box = await resolvedTarget.boundingBox?.();
4804
+ if (!box) {
4805
+ if (throwOnMissing) {
4806
+ throw new Error("\u65E0\u6CD5\u83B7\u53D6\u5143\u7D20\u4F4D\u7F6E");
4841
4807
  }
4808
+ return false;
4842
4809
  }
4843
- });
4810
+ await page.mouse.click(box.x + box.width / 2, box.y + box.height / 2);
4811
+ return true;
4812
+ } finally {
4813
+ if (typeof dispose === "function") {
4814
+ await dispose();
4815
+ }
4816
+ }
4844
4817
  };
4845
4818
  var CloakBrowserHumanize = {
4846
4819
  jitterMs(base, jitterPercent = 0.3) {
@@ -4867,7 +4840,7 @@ var CloakBrowserHumanize = {
4867
4840
  return false;
4868
4841
  }
4869
4842
  if (typeof resolvedTarget.hover === "function") {
4870
- await resolvedTarget.hover();
4843
+ await resolvedTarget.hover({ force: true });
4871
4844
  return true;
4872
4845
  }
4873
4846
  const box = await resolvedTarget.boundingBox?.();
@@ -4969,24 +4942,22 @@ var CloakBrowserHumanize = {
4969
4942
  return await MobileHumanize.humanType(page, selector, text, options);
4970
4943
  }
4971
4944
  await ensureDesktopHumanized(page);
4972
- await withPointerEventsForceFallback("humanType", options, async (effectiveOptions = {}) => {
4973
- const actionOptions = buildActionOptions(effectiveOptions);
4974
- if (typeof selector === "string") {
4975
- await page.type(selector, text, actionOptions);
4976
- return;
4945
+ const actionOptions = buildActionOptions(options);
4946
+ if (typeof selector === "string") {
4947
+ await page.type(selector, text, actionOptions);
4948
+ return;
4949
+ }
4950
+ const { target: resolvedTarget, dispose } = await resolvePatchedTarget(page, selector, { throwOnMissing: true });
4951
+ try {
4952
+ if (!resolvedTarget || typeof resolvedTarget.type !== "function") {
4953
+ throw new Error("\u76EE\u6807\u5143\u7D20\u4E0D\u652F\u6301 type()");
4977
4954
  }
4978
- const { target: resolvedTarget, dispose } = await resolvePatchedTarget(page, selector, { throwOnMissing: true });
4979
- try {
4980
- if (!resolvedTarget || typeof resolvedTarget.type !== "function") {
4981
- throw new Error("\u76EE\u6807\u5143\u7D20\u4E0D\u652F\u6301 type()");
4982
- }
4983
- await resolvedTarget.type(text, actionOptions);
4984
- } finally {
4985
- if (typeof dispose === "function") {
4986
- await dispose();
4987
- }
4955
+ await resolvedTarget.type(text, actionOptions);
4956
+ } finally {
4957
+ if (typeof dispose === "function") {
4958
+ await dispose();
4988
4959
  }
4989
- });
4960
+ }
4990
4961
  },
4991
4962
  async humanPress(page, targetOrKey, maybeKey, options = {}) {
4992
4963
  if (isMobilePage(page)) {
@@ -5004,38 +4975,36 @@ var CloakBrowserHumanize = {
5004
4975
  });
5005
4976
  return true;
5006
4977
  }
5007
- return await withPointerEventsForceFallback("humanPress", pressOptions, async (effectiveOptions = {}) => {
5008
- if (typeof targetOrKey === "string") {
5009
- await page.press(targetOrKey, key, buildActionOptions(effectiveOptions));
4978
+ if (typeof targetOrKey === "string") {
4979
+ await page.press(targetOrKey, key, buildActionOptions(pressOptions));
4980
+ return true;
4981
+ }
4982
+ const { target: resolvedTarget, dispose } = await resolvePatchedTarget(page, targetOrKey, {
4983
+ throwOnMissing: pressOptions.throwOnMissing !== false
4984
+ });
4985
+ try {
4986
+ if (!resolvedTarget) {
4987
+ return false;
4988
+ }
4989
+ if (typeof resolvedTarget.press === "function") {
4990
+ await resolvedTarget.press(key, buildActionOptions(pressOptions));
5010
4991
  return true;
5011
4992
  }
5012
- const { target: resolvedTarget, dispose } = await resolvePatchedTarget(page, targetOrKey, {
5013
- throwOnMissing: effectiveOptions.throwOnMissing !== false
4993
+ await doDesktopHumanClick(page, targetOrKey, {
4994
+ ...pressOptions,
4995
+ reactionDelay: pressOptions.focusDelay ?? 180
5014
4996
  });
5015
- try {
5016
- if (!resolvedTarget) {
5017
- return false;
5018
- }
5019
- if (typeof resolvedTarget.press === "function") {
5020
- await resolvedTarget.press(key, buildActionOptions(effectiveOptions));
5021
- return true;
5022
- }
5023
- await doDesktopHumanClick(page, targetOrKey, {
5024
- ...effectiveOptions,
5025
- reactionDelay: effectiveOptions.focusDelay ?? 180
5026
- });
5027
- await jitterSleep(effectiveOptions.reactionDelay ?? 180, 0.45);
5028
- await page.keyboard.press(key, {
5029
- ...effectiveOptions.keyboardOptions || {},
5030
- delay: jitterMs(effectiveOptions.holdDelay ?? 45, 0.5)
5031
- });
5032
- return true;
5033
- } finally {
5034
- if (typeof dispose === "function") {
5035
- await dispose();
5036
- }
4997
+ await jitterSleep(pressOptions.reactionDelay ?? 180, 0.45);
4998
+ await page.keyboard.press(key, {
4999
+ ...pressOptions.keyboardOptions || {},
5000
+ delay: jitterMs(pressOptions.holdDelay ?? 45, 0.5)
5001
+ });
5002
+ return true;
5003
+ } finally {
5004
+ if (typeof dispose === "function") {
5005
+ await dispose();
5037
5006
  }
5038
- });
5007
+ }
5039
5008
  },
5040
5009
  async humanClear(page, selector) {
5041
5010
  if (isMobilePage(page)) {
@@ -5043,10 +5012,10 @@ var CloakBrowserHumanize = {
5043
5012
  }
5044
5013
  await ensureDesktopHumanized(page);
5045
5014
  if (typeof page.clear === "function") {
5046
- await page.clear(selector);
5015
+ await page.clear(selector, { force: true });
5047
5016
  return;
5048
5017
  }
5049
- await page.fill(selector, "");
5018
+ await page.fill(selector, "", { force: true });
5050
5019
  },
5051
5020
  async warmUpBrowsing(page, baseDuration = 3500) {
5052
5021
  if (isMobilePage(page)) {