@skrillex1224/playwright-toolkit 2.1.32 → 2.1.34

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
@@ -325,6 +325,10 @@ var Utils = {
325
325
  if (el.scrollHeight > maxHeight) {
326
326
  maxHeight = el.scrollHeight;
327
327
  }
328
+ el.dataset.pkOrigOverflow = el.style.overflow;
329
+ el.dataset.pkOrigHeight = el.style.height;
330
+ el.dataset.pkOrigMaxHeight = el.style.maxHeight;
331
+ el.classList.add("__pk_expanded__");
328
332
  el.style.overflow = "visible";
329
333
  el.style.height = "auto";
330
334
  el.style.maxHeight = "none";
@@ -344,6 +348,17 @@ var Utils = {
344
348
  logger2.success("fullPageScreenshot", `captured ${Math.round(buffer_.length / 1024)} KB`);
345
349
  return buffer_.toString("base64");
346
350
  } finally {
351
+ await page.evaluate(() => {
352
+ document.querySelectorAll(".__pk_expanded__").forEach((el) => {
353
+ el.style.overflow = el.dataset.pkOrigOverflow || "";
354
+ el.style.height = el.dataset.pkOrigHeight || "";
355
+ el.style.maxHeight = el.dataset.pkOrigMaxHeight || "";
356
+ delete el.dataset.pkOrigOverflow;
357
+ delete el.dataset.pkOrigHeight;
358
+ delete el.dataset.pkOrigMaxHeight;
359
+ el.classList.remove("__pk_expanded__");
360
+ });
361
+ });
347
362
  if (originalViewport) {
348
363
  await page.setViewportSize(originalViewport);
349
364
  }
@@ -684,7 +699,7 @@ var Humanize = {
684
699
  * @param {number} [options.maxStep=220] - 单次滚动最大步长
685
700
  */
686
701
  async humanScroll(page, target, options = {}) {
687
- const { maxSteps = 30, minStep = 80, maxStep = 250 } = options;
702
+ const { maxSteps = 30, minStep = 150, maxStep = 400 } = options;
688
703
  const targetDesc = typeof target === "string" ? target : "ElementHandle";
689
704
  logger4.debug(`humanScroll | \u76EE\u6807=${targetDesc}`);
690
705
  let element;
@@ -722,7 +737,10 @@ var Humanize = {
722
737
  tag: pointElement.tagName,
723
738
  id: pointElement.id,
724
739
  className: pointElement.className
725
- }
740
+ },
741
+ cy,
742
+ // Return Center Y for smart direction calculation
743
+ viewH
726
744
  };
727
745
  }
728
746
  return { code: "VISIBLE" };
@@ -749,7 +767,9 @@ var Humanize = {
749
767
  deltaY = 100;
750
768
  }
751
769
  } else if (status.code === "OBSTRUCTED") {
752
- deltaY = (Math.random() > 0.5 ? 1 : -1) * (minStep + Math.random() * 50);
770
+ const isBottomHalf = status.cy > status.viewH / 2;
771
+ const direction = isBottomHalf ? 1 : -1;
772
+ deltaY = direction * (minStep + Math.random() * 50);
753
773
  }
754
774
  if (i === 0 || Math.random() < 0.2) {
755
775
  const viewSize = page.viewportSize();
@@ -761,7 +781,7 @@ var Humanize = {
761
781
  }
762
782
  await page.mouse.wheel(0, deltaY);
763
783
  didScroll = true;
764
- await (0, import_delay2.default)(this.jitterMs(150 + Math.random() * 200, 0.2));
784
+ await (0, import_delay2.default)(this.jitterMs(100 + Math.random() * 150, 0.2));
765
785
  }
766
786
  logger4.warn(`humanScroll | \u5728 ${maxSteps} \u6B65\u540E\u65E0\u6CD5\u786E\u4FDD\u53EF\u89C1\u6027`);
767
787
  return { element, didScroll };