@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 +24 -4
- package/dist/index.cjs.map +2 -2
- package/dist/index.js +24 -4
- package/dist/index.js.map +2 -2
- package/package.json +1 -1
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 =
|
|
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
|
-
|
|
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(
|
|
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 };
|