{"_id":"@skrillex1224/visitor-tools","_rev":"28-8d989d015cf82664624927b9b8077ff6","name":"@skrillex1224/visitor-tools","dist-tags":{"latest":"1.0.27"},"versions":{"1.0.0":{"name":"@skrillex1224/visitor-tools","version":"1.0.0","keywords":["apify","crawlee","live-view","screenshot","playwright"],"author":{"name":"FJH"},"license":"ISC","_id":"@skrillex1224/visitor-tools@1.0.0","maintainers":[{"name":"skrillex1224","email":"572299072@qq.com"}],"dist":{"shasum":"6bcf699c46e4106a782972b369df3d87be8ceb01","tarball":"https://registry.npmjs.org/@skrillex1224/visitor-tools/-/visitor-tools-1.0.0.tgz","fileCount":2,"integrity":"sha512-HzdZlHgfYmWMs6carxr3kADPDFBwU5A62SkogWhnfS8Qqq1lyrurSoxwYPOhovdAAPczBTr7iRjtG+0KfmR+Zg==","signatures":[{"sig":"MEUCIB1NQZbkHfCNTrbu8+K9+JoA/O8f9F76bR2TzySWlq0QAiEA0jax3Zo28jeigoxygc+j3GJzeBjRlwuEDswosZ6G5Tk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3466},"main":"index.js","type":"module","gitHead":"1e97920524eb78c33eadbf4f4cacfacb091a66f3","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"skrillex1224","email":"572299072@qq.com"},"_npmVersion":"10.8.2","description":"一个在 Apify/Crawlee Actor 中启用实时截图视图的实用工具库。","directories":{},"_nodeVersion":"20.19.5","dependencies":{"express":"^4.18.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/visitor-tools_1.0.0_1763107384606_0.2990416454936051","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@skrillex1224/visitor-tools","version":"1.0.1","keywords":["apify","crawlee","live-view","screenshot","playwright"],"author":{"name":"FJH"},"license":"ISC","_id":"@skrillex1224/visitor-tools@1.0.1","maintainers":[{"name":"skrillex1224","email":"572299072@qq.com"}],"dist":{"shasum":"e24a5acda587471a82f955b193c41190590add5f","tarball":"https://registry.npmjs.org/@skrillex1224/visitor-tools/-/visitor-tools-1.0.1.tgz","fileCount":2,"integrity":"sha512-CRUxnnKlHbMvhKmyqDwkisIR8V213T1XpZljV4CRHWxLZbs4BAJttCokHcU6HzL9Xlo1C/Q7c2OcjdLHK9HPXw==","signatures":[{"sig":"MEUCIH/X4/0ZKpO3NhBPfyS6z9xDFLEBQl/zgM3FYx5rN6y4AiEAgSlGAYraW1N/8JDuWOFoqi9RMH+jGMrnNYOCPWuo/eo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3500},"main":"index.js","type":"module","gitHead":"1e97920524eb78c33eadbf4f4cacfacb091a66f3","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"skrillex1224","email":"572299072@qq.com"},"_npmVersion":"10.8.2","description":"一个在 Apify/Crawlee Actor 中启用实时截图视图的实用工具库。","directories":{},"_nodeVersion":"20.19.5","dependencies":{"express":"^4.18.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/visitor-tools_1.0.1_1763107908194_0.3618269713291773","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@skrillex1224/visitor-tools","version":"1.0.2","keywords":["apify","crawlee","live-view","screenshot","playwright"],"author":{"name":"FJH"},"license":"ISC","_id":"@skrillex1224/visitor-tools@1.0.2","maintainers":[{"name":"skrillex1224","email":"572299072@qq.com"}],"dist":{"shasum":"879145dd87337cd8fb0dea2929cf7ff651835c48","tarball":"https://registry.npmjs.org/@skrillex1224/visitor-tools/-/visitor-tools-1.0.2.tgz","fileCount":2,"integrity":"sha512-GhGWmIcPS4ca1DVfjT6tcXUHLrelFJ3tTJ7Nz1cV88rNLP8UTlODJhteqautqAQJocCv4yoFnxULaItSMSLfDg==","signatures":[{"sig":"MEUCIFg0d62EFv482/s7VctD/zJYNSHGYepR/vDny9Tl0NqqAiEA+dVkyW4rbtweOP9ywsPO/d88nNcbBNqjcDMiyGTC+2k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3624},"main":"index.js","type":"module","gitHead":"3427dd014cbde743302792f25fd1d4834a659831","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"skrillex1224","email":"572299072@qq.com"},"_npmVersion":"10.8.2","description":"一个在 Apify/Crawlee Actor 中启用实时截图视图的实用工具库。","directories":{},"_nodeVersion":"20.19.5","dependencies":{"express":"^4.18.2"},"_hasShrinkwrap":false,"peerDependencies":{"apify":"*","crawlee":"*","playwright":"*"},"_npmOperationalInternal":{"tmp":"tmp/visitor-tools_1.0.2_1763109240424_0.29762352954987326","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@skrillex1224/visitor-tools","version":"1.0.3","keywords":["apify","crawlee","live-view","screenshot","playwright"],"author":{"name":"FJH"},"license":"ISC","_id":"@skrillex1224/visitor-tools@1.0.3","maintainers":[{"name":"skrillex1224","email":"572299072@qq.com"}],"dist":{"shasum":"23561a65842a9ca2bef274cc0c08683d0d682953","tarball":"https://registry.npmjs.org/@skrillex1224/visitor-tools/-/visitor-tools-1.0.3.tgz","fileCount":2,"integrity":"sha512-nH6mKFICqPpxpAghZWQw79JkfkTMhumex+eU71RmVkGR483AcpZ7rL7y6xzk3jNslwv8SHC39pyQy2rz3ZNZnQ==","signatures":[{"sig":"MEQCIEquIsDviDZ0K120tRHv7kREdloqUAmu6GOcWhi5bP5XAiBGXMmJLqe5Zx7/Xtt2gFciPDPFe0b3uRaV8qhiKz9+1w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3654},"main":"index.js","type":"module","gitHead":"3427dd014cbde743302792f25fd1d4834a659831","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"skrillex1224","email":"572299072@qq.com"},"_npmVersion":"10.8.2","description":"一个在 Apify/Crawlee Actor 中启用实时截图视图的实用工具库。","directories":{},"_nodeVersion":"20.19.5","dependencies":{"express":"^4.18.2"},"_hasShrinkwrap":false,"peerDependencies":{"apify":"*","crawlee":"*","playwright":"*"},"_npmOperationalInternal":{"tmp":"tmp/visitor-tools_1.0.3_1763110116879_0.27560524362388295","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@skrillex1224/visitor-tools","version":"1.0.4","keywords":["apify","crawlee","live-view","screenshot","playwright"],"author":{"name":"FJH"},"license":"ISC","_id":"@skrillex1224/visitor-tools@1.0.4","maintainers":[{"name":"skrillex1224","email":"572299072@qq.com"}],"dist":{"shasum":"940e1bcba806082aa07c9bc0e68418c465fa46ad","tarball":"https://registry.npmjs.org/@skrillex1224/visitor-tools/-/visitor-tools-1.0.4.tgz","fileCount":3,"integrity":"sha512-HSXhXgKyGh5p6Lw60IPkxDTa1cixY5Cm78+9WwILA0Cu7aFxg6/p2d2f1zh7DdMltFOXGM+O/i+xhYQl5vvnBw==","signatures":[{"sig":"MEUCIEeNfOwamtrypv8tukhfS4YcH2JCpXrJ3SHxT8Aq3RTmAiEA34wo60IL+qeydgnDdei0j6IdK1s/Gy7gwLgzSz6su58=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5457},"main":"index.js","type":"module","gitHead":"e1de5379d5e464c760b490b8fc809d93dd5d124d","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"skrillex1224","email":"572299072@qq.com"},"_npmVersion":"10.8.2","description":"一个在 Apify/Crawlee Actor 中启用实时截图视图的实用工具库。","directories":{},"_nodeVersion":"20.19.5","dependencies":{"express":"^4.18.2"},"_hasShrinkwrap":false,"peerDependencies":{"apify":"*","crawlee":"*","playwright":"*"},"_npmOperationalInternal":{"tmp":"tmp/visitor-tools_1.0.4_1763532636252_0.16737388246622986","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@skrillex1224/visitor-tools","version":"1.0.5","keywords":["apify","crawlee","live-view","screenshot","playwright"],"author":{"name":"FJH"},"license":"ISC","_id":"@skrillex1224/visitor-tools@1.0.5","maintainers":[{"name":"skrillex1224","email":"572299072@qq.com"}],"dist":{"shasum":"96b46d4d87af9c07f30626d77b517db193b77f35","tarball":"https://registry.npmjs.org/@skrillex1224/visitor-tools/-/visitor-tools-1.0.5.tgz","fileCount":2,"integrity":"sha512-4Az2kbrsSgyLEicj9RQ6QZKzlK5dFjIT0QfHbwDFkO862lS+5fH0DNzO2sZ7emykZkxEzYx86HkSciPnS9YCEg==","signatures":[{"sig":"MEYCIQDZgtRnlJgGBr3RGg3SZcXs49YvQ4HndCJ2JKYd19+PkgIhAK4IQHtm3svOKczqnDPAmBz2YQVj9Lk06Ivb0eCHylQM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5447},"main":"index.js","type":"module","gitHead":"e1de5379d5e464c760b490b8fc809d93dd5d124d","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"skrillex1224","email":"572299072@qq.com"},"_npmVersion":"10.8.2","description":"一个在 Apify/Crawlee Actor 中启用实时截图视图的实用工具库。","directories":{},"_nodeVersion":"20.19.5","dependencies":{"express":"^4.18.2"},"_hasShrinkwrap":false,"peerDependencies":{"apify":"*","crawlee":"*","playwright":"*"},"_npmOperationalInternal":{"tmp":"tmp/visitor-tools_1.0.5_1763537607227_0.030974077453961746","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@skrillex1224/visitor-tools","version":"1.0.6","keywords":["apify","crawlee","live-view","screenshot","playwright"],"author":{"name":"FJH"},"license":"ISC","_id":"@skrillex1224/visitor-tools@1.0.6","maintainers":[{"name":"skrillex1224","email":"572299072@qq.com"}],"dist":{"shasum":"a35c2d5a7d6b4af52bddad1cc875833d29474c9b","tarball":"https://registry.npmjs.org/@skrillex1224/visitor-tools/-/visitor-tools-1.0.6.tgz","fileCount":2,"integrity":"sha512-nbTos/NP19R/9oA7dHiRYsNRLgLC8pLxl0qTBPaPLB8ob9Ke9NI9giMt8cDbm7FN7OfDV+n1m0x5o40Q0HOOVw==","signatures":[{"sig":"MEYCIQDYOFM41a56qzKH+QSCHttbLyI7a8BEJICFWZeIBHECLwIhAPcMB/OhwkYWulAfGkykUq0JC4PpWoE54IBbwm7NtAmc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5447},"main":"index.js","type":"module","gitHead":"e1de5379d5e464c760b490b8fc809d93dd5d124d","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"skrillex1224","email":"572299072@qq.com"},"_npmVersion":"10.8.2","description":"一个在 Apify/Crawlee Actor 中启用实时截图视图的实用工具库。","directories":{},"_nodeVersion":"20.19.5","dependencies":{"express":"^4.18.2"},"_hasShrinkwrap":false,"peerDependencies":{"apify":"*","crawlee":"*","playwright":"*"},"_npmOperationalInternal":{"tmp":"tmp/visitor-tools_1.0.6_1763537654306_0.15903664238779958","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@skrillex1224/visitor-tools","version":"1.0.7","keywords":["apify","crawlee","live-view","screenshot","playwright"],"author":{"name":"FJH"},"license":"ISC","_id":"@skrillex1224/visitor-tools@1.0.7","maintainers":[{"name":"skrillex1224","email":"572299072@qq.com"}],"dist":{"shasum":"69623b8527714d831e26b4b29e3d6d7c4380b4f4","tarball":"https://registry.npmjs.org/@skrillex1224/visitor-tools/-/visitor-tools-1.0.7.tgz","fileCount":2,"integrity":"sha512-Sgys3DMZ7XQU79OrBx5jOGyMvLIAxKBj+eIHXJj+9xFxIy5qKgDCLxSSEbVqrL2FEyYOYPwTGCE82/JuYwnufw==","signatures":[{"sig":"MEUCIDQHtzpi59TITSt6Qc3h2RALwo8zI0vieQ8wUTpk5P/xAiEAquBsafDyJ18V3GnfyZn5UrzTWV12m2g81m2HEIq7TaM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5529},"main":"index.js","type":"module","gitHead":"e1de5379d5e464c760b490b8fc809d93dd5d124d","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"skrillex1224","email":"572299072@qq.com"},"_npmVersion":"10.8.2","description":"一个在 Apify/Crawlee Actor 中启用实时截图视图的实用工具库。","directories":{},"_nodeVersion":"20.19.5","dependencies":{"express":"^4.18.2"},"_hasShrinkwrap":false,"peerDependencies":{"apify":"*","crawlee":"*","playwright":"*"},"_npmOperationalInternal":{"tmp":"tmp/visitor-tools_1.0.7_1763538229760_0.9294426550209669","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@skrillex1224/visitor-tools","version":"1.0.8","keywords":["apify","crawlee","live-view","screenshot","playwright"],"author":{"name":"FJH"},"license":"ISC","_id":"@skrillex1224/visitor-tools@1.0.8","maintainers":[{"name":"skrillex1224","email":"572299072@qq.com"}],"dist":{"shasum":"083ab47deff42b43e5c05642ec77a9a3c24640ed","tarball":"https://registry.npmjs.org/@skrillex1224/visitor-tools/-/visitor-tools-1.0.8.tgz","fileCount":2,"integrity":"sha512-MPdBDBv/cbcC4LrytDAhiVXlRJMkUfdBsPeB87KXbyKTRXynWGIPNG6BnFQ1zK76Vb4uSGKOPl6H2JEeh5rpCw==","signatures":[{"sig":"MEUCIQCbLJJxNRNL3SUd/3uXe2Lh1nvkQG+Qm9E+j4zf6SaW2AIgc7PvanEi5KyCNe7/qUzcrLa8rxvQF4vrgO8jQ29ZtX4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5530},"main":"index.js","type":"module","gitHead":"e1de5379d5e464c760b490b8fc809d93dd5d124d","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"skrillex1224","email":"572299072@qq.com"},"_npmVersion":"10.8.2","description":"一个在 Apify/Crawlee Actor 中启用实时截图视图的实用工具库。","directories":{},"_nodeVersion":"20.19.5","dependencies":{"express":"^4.18.2"},"_hasShrinkwrap":false,"peerDependencies":{"apify":"*","crawlee":"*","playwright":"*"},"_npmOperationalInternal":{"tmp":"tmp/visitor-tools_1.0.8_1763538301241_0.7746532724727293","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@skrillex1224/visitor-tools","version":"1.0.9","keywords":["apify","crawlee","live-view","screenshot","playwright"],"author":{"name":"FJH"},"license":"ISC","_id":"@skrillex1224/visitor-tools@1.0.9","maintainers":[{"name":"skrillex1224","email":"572299072@qq.com"}],"dist":{"shasum":"9e2506de4ea630053130154197c24499530ac10e","tarball":"https://registry.npmjs.org/@skrillex1224/visitor-tools/-/visitor-tools-1.0.9.tgz","fileCount":2,"integrity":"sha512-DST5IjfJ/DmuxBDpvo5+py4SITOY+dW7OjiBaPCs5uqgP5Ss9kAcWJfKk9x2jfJTc2VZ4e6E00U+XYIcMRB3qA==","signatures":[{"sig":"MEUCIQDCJWitk6WvyXNXDcpLwnFiB66hhHFKIU3i5IysfbjfRgIgBRuPg8iseKv0NynFJTBLyGrJ8iR8QAzCDkhjMq9T9GY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5530},"main":"index.js","type":"module","gitHead":"e1de5379d5e464c760b490b8fc809d93dd5d124d","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"skrillex1224","email":"572299072@qq.com"},"_npmVersion":"10.8.2","description":"一个在 Apify/Crawlee Actor 中启用实时截图视图的实用工具库。","directories":{},"_nodeVersion":"20.19.5","dependencies":{"express":"^4.18.2"},"_hasShrinkwrap":false,"peerDependencies":{"apify":"*","crawlee":"*","playwright":"*"},"_npmOperationalInternal":{"tmp":"tmp/visitor-tools_1.0.9_1763538371635_0.9496425373329191","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@skrillex1224/visitor-tools","version":"1.0.10","keywords":["apify","crawlee","live-view","screenshot","playwright"],"author":{"name":"FJH"},"license":"ISC","_id":"@skrillex1224/visitor-tools@1.0.10","maintainers":[{"name":"skrillex1224","email":"572299072@qq.com"}],"dist":{"shasum":"0bf327b64d81dc36c20c3d31537d681dee3ffd30","tarball":"https://registry.npmjs.org/@skrillex1224/visitor-tools/-/visitor-tools-1.0.10.tgz","fileCount":2,"integrity":"sha512-pS6OYj1uTQGEMTpxVeZJcf9iq3BLbt8S6Orhy1d+V28z7b0gYpQU+cjI8kAcamQkCDDMYcDTjPpJfTYuHoFCIQ==","signatures":[{"sig":"MEUCIQD68ILnc69KsmBxUa6IMLP86h7z9wy7ESPtGAY906bTXQIgIu0CKqNQx6rcModO3+o02x76Oo4MQQTDfGsk8vxjGZI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6365},"main":"index.js","type":"module","gitHead":"247703000f47c1ad5464560b55c93612ea01cea6","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"skrillex1224","email":"572299072@qq.com"},"_npmVersion":"10.8.2","description":"一个在 Apify/Crawlee Actor 中启用实时截图视图的实用工具库。","directories":{},"_nodeVersion":"20.19.5","dependencies":{"express":"^4.18.2"},"_hasShrinkwrap":false,"peerDependencies":{"apify":"*","crawlee":"*","playwright":"*"},"_npmOperationalInternal":{"tmp":"tmp/visitor-tools_1.0.10_1763542035656_0.5008751794814807","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@skrillex1224/visitor-tools","version":"1.0.11","keywords":["apify","crawlee","live-view","screenshot","playwright"],"author":{"name":"FJH"},"license":"ISC","_id":"@skrillex1224/visitor-tools@1.0.11","maintainers":[{"name":"skrillex1224","email":"572299072@qq.com"}],"dist":{"shasum":"1ee915e14f208c286917f64d2a7c0365e187428d","tarball":"https://registry.npmjs.org/@skrillex1224/visitor-tools/-/visitor-tools-1.0.11.tgz","fileCount":2,"integrity":"sha512-oQey9ka8gy3VGjqurgtQ5b7f+QrX9iAFB5Jex6F3K4Qskng4JUdOevtNW02U7SU7V0DyYXJlyjIL871mRCXbxg==","signatures":[{"sig":"MEUCIQCS1/uTYLVCPginw+qeTN/mk56jzOeADYYNE6dSX2cYLwIgHhua5CpKuu5HWW369JYfxKNN9LjpKmFirWGbfl4vjBM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7199},"main":"index.js","type":"module","gitHead":"449cda6a016697d0ba3e36eaed8ae86a4c50f7c6","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"skrillex1224","email":"572299072@qq.com"},"_npmVersion":"10.8.2","description":"一个在 Apify/Crawlee Actor 中启用实时截图视图的实用工具库。","directories":{},"_nodeVersion":"20.19.5","dependencies":{"express":"^4.18.2"},"_hasShrinkwrap":false,"peerDependencies":{"apify":"*","crawlee":"*","playwright":"*"},"_npmOperationalInternal":{"tmp":"tmp/visitor-tools_1.0.11_1764061163734_0.8263859861202725","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@skrillex1224/visitor-tools","version":"1.0.12","keywords":["apify","crawlee","live-view","screenshot","playwright"],"author":{"name":"FJH"},"license":"ISC","_id":"@skrillex1224/visitor-tools@1.0.12","maintainers":[{"name":"skrillex1224","email":"572299072@qq.com"}],"dist":{"shasum":"5c548f12b8abe22600226cc28746ca160271f605","tarball":"https://registry.npmjs.org/@skrillex1224/visitor-tools/-/visitor-tools-1.0.12.tgz","fileCount":2,"integrity":"sha512-2PY7Cv2RLWVcpL5kwdeV2nBNiJOeIWrjl6a6SlzVYBqLCMIlkXnHsQUewaeOFj1lT1UHrzNaJlEwsnzbO2oYlQ==","signatures":[{"sig":"MEUCIQCwvRtwjkYYYuc8iXnLoH3lc/gANcql4sD/9GMad8SUYwIgcZTMONx9uVIEpuuGAadYXzG271X41xUoMKezU/RBPQI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7205},"main":"index.js","type":"module","gitHead":"449cda6a016697d0ba3e36eaed8ae86a4c50f7c6","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"skrillex1224","email":"572299072@qq.com"},"_npmVersion":"10.8.2","description":"一个在 Apify/Crawlee Actor 中启用实时截图视图的实用工具库。","directories":{},"_nodeVersion":"20.19.5","dependencies":{"express":"^4.18.2"},"_hasShrinkwrap":false,"peerDependencies":{"apify":"*","crawlee":"*","playwright":"*"},"_npmOperationalInternal":{"tmp":"tmp/visitor-tools_1.0.12_1764061312653_0.23272650580374554","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"@skrillex1224/visitor-tools","version":"1.0.13","keywords":["apify","crawlee","live-view","screenshot","playwright"],"author":{"name":"FJH"},"license":"ISC","_id":"@skrillex1224/visitor-tools@1.0.13","maintainers":[{"name":"skrillex1224","email":"572299072@qq.com"}],"dist":{"shasum":"21ccaf52f4910aedcbf55096d90d7845d5ccb3a3","tarball":"https://registry.npmjs.org/@skrillex1224/visitor-tools/-/visitor-tools-1.0.13.tgz","fileCount":2,"integrity":"sha512-eS2/iLqH0Xg5oKZjdXGfP23CJcVWxdrodbWxdQtMH92hbyrXfJEoQ7SXL7GyG2RqurueheXTeVrCRfsCJN/aUQ==","signatures":[{"sig":"MEYCIQCcQ26U971HkpdO6UvL7zZDye+H2oTSK/uXmJm0MEYDegIhAILskvt7vtd2rVqzm8m4OuYCkSBRBY1gHXM7pQZvllUw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7264},"main":"index.js","type":"module","gitHead":"449cda6a016697d0ba3e36eaed8ae86a4c50f7c6","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"skrillex1224","email":"572299072@qq.com"},"_npmVersion":"10.8.2","description":"一个在 Apify/Crawlee Actor 中启用实时截图视图的实用工具库。","directories":{},"_nodeVersion":"20.19.5","dependencies":{"express":"^4.18.2"},"_hasShrinkwrap":false,"peerDependencies":{"apify":"*","crawlee":"*","playwright":"*"},"_npmOperationalInternal":{"tmp":"tmp/visitor-tools_1.0.13_1764061456439_0.3964406321144651","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"@skrillex1224/visitor-tools","version":"1.0.14","keywords":["apify","crawlee","live-view","screenshot","playwright"],"author":{"name":"FJH"},"license":"ISC","_id":"@skrillex1224/visitor-tools@1.0.14","maintainers":[{"name":"skrillex1224","email":"572299072@qq.com"}],"dist":{"shasum":"ca85e93f28859e00ba1b2cfd0c47ff8d4a3ac62d","tarball":"https://registry.npmjs.org/@skrillex1224/visitor-tools/-/visitor-tools-1.0.14.tgz","fileCount":2,"integrity":"sha512-XAkIY9qHWf4I9wagzCMk/3ZrjYuVYvRx/Rp2KgQhs2WqFXBq0j103kBhvQdwKW6zQXLaGsW8jqTEf0VioLhf6w==","signatures":[{"sig":"MEUCIQDaVUSU/HdRlKRavsUBL0qbY3iop+906TeZAC7gRG4LhQIgNHt90QCnY8PxZzck+Fh1Pf+eOkVwKwznqOnbeb/13Ig=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7266},"main":"index.js","type":"module","gitHead":"449cda6a016697d0ba3e36eaed8ae86a4c50f7c6","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"skrillex1224","email":"572299072@qq.com"},"_npmVersion":"10.8.2","description":"一个在 Apify/Crawlee Actor 中启用实时截图视图的实用工具库。","directories":{},"_nodeVersion":"20.19.5","dependencies":{"express":"^4.18.2"},"_hasShrinkwrap":false,"peerDependencies":{"apify":"*","crawlee":"*","playwright":"*"},"_npmOperationalInternal":{"tmp":"tmp/visitor-tools_1.0.14_1764061484165_0.2780204133340787","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"@skrillex1224/visitor-tools","version":"1.0.15","keywords":["apify","crawlee","live-view","screenshot","playwright"],"author":{"name":"FJH"},"license":"ISC","_id":"@skrillex1224/visitor-tools@1.0.15","maintainers":[{"name":"skrillex1224","email":"572299072@qq.com"}],"dist":{"shasum":"b57dc6676442e847dcd6f924838ffb4c038391b5","tarball":"https://registry.npmjs.org/@skrillex1224/visitor-tools/-/visitor-tools-1.0.15.tgz","fileCount":2,"integrity":"sha512-1wYFU01ooFD7tlnc3bl7FulzYoKy6jqV6O+gb0Jgl+Vyx5hMTGcjrY0qOBQ0zNw69RHfUZbdQ8Mn/qCed6Z3bw==","signatures":[{"sig":"MEUCID9bsVoNJlciqJ5UqLoiiB9s5RRSrpjoTUiUpA4HdrFnAiEAimWHApFzILG4nC73Kx29kYMPG/nm60k/F//jetu6URU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7280},"main":"index.js","type":"module","gitHead":"449cda6a016697d0ba3e36eaed8ae86a4c50f7c6","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"skrillex1224","email":"572299072@qq.com"},"_npmVersion":"10.8.2","description":"一个在 Apify/Crawlee Actor 中启用实时截图视图的实用工具库。","directories":{},"_nodeVersion":"20.19.5","dependencies":{"express":"^4.18.2"},"_hasShrinkwrap":false,"peerDependencies":{"apify":"*","crawlee":"*","playwright":"*"},"_npmOperationalInternal":{"tmp":"tmp/visitor-tools_1.0.15_1764061615265_0.4547131139472962","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"@skrillex1224/visitor-tools","version":"1.0.16","keywords":["apify","crawlee","live-view","screenshot","playwright"],"author":{"name":"FJH"},"license":"ISC","_id":"@skrillex1224/visitor-tools@1.0.16","maintainers":[{"name":"skrillex1224","email":"572299072@qq.com"}],"dist":{"shasum":"1f07025bf0dd1cb95abea51afa444bb79460b750","tarball":"https://registry.npmjs.org/@skrillex1224/visitor-tools/-/visitor-tools-1.0.16.tgz","fileCount":2,"integrity":"sha512-Sf8j/7Pd24bRE5mwbgdVj5eFVDdVJq+OFqMNmZvHV1UX/Ncej6SPlmprTL+o5h8wxQeJdlYrXxrk5oiFxl5wVQ==","signatures":[{"sig":"MEQCIAx0cctGxBun1z9TQ4pNldfqbrJ37s92hFamSoFq6Vj5AiACxH3QywKxC78hjrwM98L3U+RRsmRFMT+dw4Z/LWSXTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7291},"main":"index.js","type":"module","gitHead":"449cda6a016697d0ba3e36eaed8ae86a4c50f7c6","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"skrillex1224","email":"572299072@qq.com"},"_npmVersion":"10.8.2","description":"一个在 Apify/Crawlee Actor 中启用实时截图视图的实用工具库。","directories":{},"_nodeVersion":"20.19.5","dependencies":{"express":"^4.18.2"},"_hasShrinkwrap":false,"peerDependencies":{"apify":"*","crawlee":"*","playwright":"*"},"_npmOperationalInternal":{"tmp":"tmp/visitor-tools_1.0.16_1764061717740_0.8766517755225334","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"@skrillex1224/visitor-tools","version":"1.0.18","keywords":["apify","crawlee","live-view","screenshot","playwright"],"author":{"name":"FJH"},"license":"ISC","_id":"@skrillex1224/visitor-tools@1.0.18","maintainers":[{"name":"skrillex12242018","email":"572299072@qq.com"}],"dist":{"shasum":"61316893f49c6b6e1c83df46b8c0a6b1cf1fd57b","tarball":"https://registry.npmjs.org/@skrillex1224/visitor-tools/-/visitor-tools-1.0.18.tgz","fileCount":3,"integrity":"sha512-lEtDX/RnGN+drCIiVtQ+1tmolO1JlmSaaFMY3Jnd9szzIeeFeYRwAbf8tcGYQdjfzr0ddeA8+Z4rLcqLQyvbpA==","signatures":[{"sig":"MEYCIQDzLd8pHwCbagsfrxvSy9Ds2fAlUiWIL/sgUZPuLQPrKgIhAJfl8U/mhfkusVMHWqNDO7g5AlxNUR5OIDuezNLP1fjZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12251},"main":"index.js","type":"module","gitHead":"135c509592f1cb97022e1c5f170d7d7b0fcb1598","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"skrillex12242018","email":"572299072@qq.com"},"_npmVersion":"11.6.2","description":"一个在 Apify/Crawlee Actor 中启用实时截图视图的实用工具库。","directories":{},"_nodeVersion":"25.2.1","dependencies":{"express":"^4.18.2"},"_hasShrinkwrap":false,"peerDependencies":{"apify":"*","crawlee":"*","playwright":"*"},"_npmOperationalInternal":{"tmp":"tmp/visitor-tools_1.0.18_1765854600844_0.7292052276683854","host":"s3://npm-registry-packages-npm-production"}},"1.0.19":{"name":"@skrillex1224/visitor-tools","version":"1.0.19","keywords":["apify","crawlee","live-view","screenshot","playwright"],"author":{"name":"FJH"},"license":"ISC","_id":"@skrillex1224/visitor-tools@1.0.19","maintainers":[{"name":"skrillex12242018","email":"572299072@qq.com"}],"dist":{"shasum":"0cc8ae2a218ef8b3db784307f33fb2caed9b2446","tarball":"https://registry.npmjs.org/@skrillex1224/visitor-tools/-/visitor-tools-1.0.19.tgz","fileCount":3,"integrity":"sha512-DYH4yhX3jU3t6VSJ9moNUIWwtbSLwMfoXXF1m54LxnAQSE7S9heb+goVgECKAwltz5thE9ZGZ1EA/zw28YtdQw==","signatures":[{"sig":"MEUCIQD9NbCiqG3MjiMN1PFWGEiDyz6LrY5lGgIF3A54MmyBhgIgZqpxzoQQdW5zCXtHhRUwa7nJGC9jJHtqhuEJQwe0woY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12252},"main":"index.js","type":"module","gitHead":"135c509592f1cb97022e1c5f170d7d7b0fcb1598","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"skrillex12242018","email":"572299072@qq.com"},"_npmVersion":"11.6.2","description":"一个在 Apify/Crawlee Actor 中启用实时截图视图的实用工具库。","directories":{},"_nodeVersion":"25.2.1","dependencies":{"express":"^4.18.2"},"_hasShrinkwrap":false,"peerDependencies":{"apify":"*","crawlee":"*","playwright":"*"},"_npmOperationalInternal":{"tmp":"tmp/visitor-tools_1.0.19_1765854630851_0.8264538000312094","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"@skrillex1224/visitor-tools","version":"1.0.20","keywords":["apify","crawlee","live-view","screenshot","playwright"],"author":{"name":"FJH"},"license":"ISC","_id":"@skrillex1224/visitor-tools@1.0.20","maintainers":[{"name":"skrillex12242018","email":"572299072@qq.com"}],"dist":{"shasum":"63d00dd180955bf28025fb3334f18fcd52c6b2a0","tarball":"https://registry.npmjs.org/@skrillex1224/visitor-tools/-/visitor-tools-1.0.20.tgz","fileCount":3,"integrity":"sha512-ryYNkXzm26QS8C8zBWM+j81eThAXQc+Ji2joYNX1nj0lKTRfUEA4B+RrcF40M+zTZ+IYk3NG38NSWpPzKoOb0w==","signatures":[{"sig":"MEQCIGOROcj+uSdR7G8c7hHE7I36i+PBOyuikyOo/txxtHo9AiAITz+yzQog90IyjwFtqaQmhy66PZc1kv65ELSt3GG8ig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12299},"main":"index.js","type":"module","gitHead":"135c509592f1cb97022e1c5f170d7d7b0fcb1598","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"skrillex12242018","email":"572299072@qq.com"},"_npmVersion":"11.6.2","description":"一个在 Apify/Crawlee Actor 中启用实时截图视图的实用工具库。","directories":{},"_nodeVersion":"25.2.1","dependencies":{"express":"^4.18.2"},"_hasShrinkwrap":false,"peerDependencies":{"apify":"*","crawlee":"*","playwright":"*"},"_npmOperationalInternal":{"tmp":"tmp/visitor-tools_1.0.20_1765854790705_0.5004025744116101","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"@skrillex1224/visitor-tools","version":"1.0.21","keywords":["apify","crawlee","live-view","screenshot","playwright"],"author":{"name":"FJH"},"license":"ISC","_id":"@skrillex1224/visitor-tools@1.0.21","maintainers":[{"name":"skrillex12242018","email":"572299072@qq.com"}],"dist":{"shasum":"8e2181c4aa0abebe8cfd52db04eba47ad0b4e039","tarball":"https://registry.npmjs.org/@skrillex1224/visitor-tools/-/visitor-tools-1.0.21.tgz","fileCount":3,"integrity":"sha512-TNiaG0hf5/7J8P5GRkcmUgcLZi2F9zQOfIgqoPuY9xf+poPbWppePQNQtiRrhxwhL0wSfNALe6Uslc07rro9ZQ==","signatures":[{"sig":"MEQCICp+k5e1MdqN9xKHQ2JzIQtNWKp96YnIGi6L75y6M2CNAiAaQ0zXyCl9y6IjVrY3EsbPb7h019/PPNvNzCmz9BqtZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12444},"main":"index.js","type":"module","gitHead":"cf7e8dde3110cae8557e627e441a21fecc981d3c","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"skrillex12242018","email":"572299072@qq.com"},"_npmVersion":"11.6.2","description":"一个在 Apify/Crawlee Actor 中启用实时截图视图的实用工具库。","directories":{},"_nodeVersion":"25.2.1","dependencies":{"express":"^4.18.2"},"_hasShrinkwrap":false,"peerDependencies":{"apify":"*","crawlee":"*","playwright":"*"},"_npmOperationalInternal":{"tmp":"tmp/visitor-tools_1.0.21_1765887193041_0.7806791149100265","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"@skrillex1224/visitor-tools","version":"1.0.22","keywords":["apify","crawlee","live-view","screenshot","playwright"],"author":{"name":"FJH"},"license":"ISC","_id":"@skrillex1224/visitor-tools@1.0.22","maintainers":[{"name":"skrillex12242018","email":"572299072@qq.com"}],"dist":{"shasum":"d60fa68888f576790efd53124ff782637b17a714","tarball":"https://registry.npmjs.org/@skrillex1224/visitor-tools/-/visitor-tools-1.0.22.tgz","fileCount":3,"integrity":"sha512-75w1yoDigurmYNvkiZuosYLi/YoBQ1Ss/VhrgXXHrqf5bkttmDjoikapbsHXpWM6RmfLVsin/OWrmY2swFpQnA==","signatures":[{"sig":"MEUCIQDIt5LsTlTysRcVsvzmt8VAmvTFmbVMTcRgM8RCzN1DtQIgeXwlqTQGD4A4lD7GEtlhYHXcE7STnCI1YJjVCTsXkQ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12972},"main":"index.js","type":"module","gitHead":"96b06e65330415d8c3920fb1f2be775cf7ffbbf1","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"skrillex12242018","email":"572299072@qq.com"},"_npmVersion":"11.6.2","description":"一个在 Apify/Crawlee Actor 中启用实时截图视图的实用工具库。","directories":{},"_nodeVersion":"25.2.1","dependencies":{"express":"^4.18.2"},"_hasShrinkwrap":false,"peerDependencies":{"apify":"*","crawlee":"*","playwright":"*"},"_npmOperationalInternal":{"tmp":"tmp/visitor-tools_1.0.22_1765889593980_0.7532824856549494","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"@skrillex1224/visitor-tools","version":"1.0.23","keywords":["apify","crawlee","live-view","screenshot","playwright"],"author":{"name":"FJH"},"license":"ISC","_id":"@skrillex1224/visitor-tools@1.0.23","maintainers":[{"name":"skrillex12242018","email":"572299072@qq.com"}],"dist":{"shasum":"ae2683b7e31a8c42f8941649c3dc967dd8c53069","tarball":"https://registry.npmjs.org/@skrillex1224/visitor-tools/-/visitor-tools-1.0.23.tgz","fileCount":3,"integrity":"sha512-X021YjwB68biLfnLfCjSSJ9yqoLJfoKOo89I89Jk5lJSS+sl3LgQJaeC37VCSbS0pfUl1azMVJAD7RAa10vKsg==","signatures":[{"sig":"MEUCIQCpHcDuhHvbeQ4uUvUc7a4bUZ+m45OSz8vvHgFJxmlXSwIgacnlUNX63EicLPvjeoxEY5ivbyE/GGhcAw9gobTGqEU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14297},"main":"index.js","type":"module","gitHead":"96b06e65330415d8c3920fb1f2be775cf7ffbbf1","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"skrillex12242018","email":"572299072@qq.com"},"_npmVersion":"11.6.2","description":"一个在 Apify/Crawlee Actor 中启用实时截图视图的实用工具库。","directories":{},"_nodeVersion":"25.2.1","dependencies":{"express":"^4.18.2"},"_hasShrinkwrap":false,"peerDependencies":{"apify":"*","crawlee":"*","playwright":"*"},"_npmOperationalInternal":{"tmp":"tmp/visitor-tools_1.0.23_1765890300322_0.7479161653488728","host":"s3://npm-registry-packages-npm-production"}},"1.0.24":{"name":"@skrillex1224/visitor-tools","version":"1.0.24","keywords":["apify","crawlee","live-view","screenshot","playwright"],"author":{"name":"FJH"},"license":"ISC","_id":"@skrillex1224/visitor-tools@1.0.24","maintainers":[{"name":"skrillex12242018","email":"572299072@qq.com"}],"dist":{"shasum":"563751ec24915b573d946547cb18da2556331005","tarball":"https://registry.npmjs.org/@skrillex1224/visitor-tools/-/visitor-tools-1.0.24.tgz","fileCount":3,"integrity":"sha512-FQ+wqWEk4qLrrnDDGvKX7FnqIHazXjVKS+ccdak7ufxG6S8ODB8wViXTJ6wbYq0LhZRKAjrZvr3wAiZ+mbX5jA==","signatures":[{"sig":"MEQCIHnJ7S050eSYph6uDcI8kyRp02qDM0n9fWz1/vFsjVrdAiBLE+E76tZI7bNGd9CXFjmb37/ks32LIhmB6WnabF57mw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14355},"main":"index.js","type":"module","gitHead":"96b06e65330415d8c3920fb1f2be775cf7ffbbf1","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"skrillex12242018","email":"572299072@qq.com"},"_npmVersion":"11.6.2","description":"一个在 Apify/Crawlee Actor 中启用实时截图视图的实用工具库。","directories":{},"_nodeVersion":"25.2.1","dependencies":{"express":"^4.18.2"},"_hasShrinkwrap":false,"peerDependencies":{"apify":"*","crawlee":"*","playwright":"*"},"_npmOperationalInternal":{"tmp":"tmp/visitor-tools_1.0.24_1765891622280_0.7786481927673747","host":"s3://npm-registry-packages-npm-production"}},"1.0.25":{"name":"@skrillex1224/visitor-tools","version":"1.0.25","keywords":["apify","crawlee","live-view","screenshot","playwright"],"author":{"name":"FJH"},"license":"ISC","_id":"@skrillex1224/visitor-tools@1.0.25","maintainers":[{"name":"skrillex12242018","email":"572299072@qq.com"}],"dist":{"shasum":"32d79a97f135e1ec73e266ab56cee9899f3f4aa5","tarball":"https://registry.npmjs.org/@skrillex1224/visitor-tools/-/visitor-tools-1.0.25.tgz","fileCount":3,"integrity":"sha512-568jyQQPVQQzudotya3Ye/tQbsG73MCGla7Ui5K4V2mY4meVMUhRBD41VNFDdXCEaVTmHBxd3D2DxGBbeVloWA==","signatures":[{"sig":"MEQCIDrZwgIelSdxqQywzokuwTYfdvgRPUyfdvXNQvdHhkv+AiBlT4/rEKbsSZaORfg3uOcExOXYfC6g/0T2nTq7Qw8IUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13940},"main":"index.js","type":"module","gitHead":"96b06e65330415d8c3920fb1f2be775cf7ffbbf1","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"skrillex12242018","email":"572299072@qq.com"},"_npmVersion":"11.6.2","description":"一个在 Apify/Crawlee Actor 中启用实时截图视图的实用工具库。","directories":{},"_nodeVersion":"25.2.1","dependencies":{"express":"^4.18.2"},"_hasShrinkwrap":false,"peerDependencies":{"apify":"*","crawlee":"*","playwright":"*"},"_npmOperationalInternal":{"tmp":"tmp/visitor-tools_1.0.25_1765892265906_0.14571059975410128","host":"s3://npm-registry-packages-npm-production"}},"1.0.26":{"name":"@skrillex1224/visitor-tools","version":"1.0.26","keywords":["apify","crawlee","live-view","screenshot","playwright"],"author":{"name":"FJH"},"license":"ISC","_id":"@skrillex1224/visitor-tools@1.0.26","maintainers":[{"name":"skrillex12242018","email":"572299072@qq.com"}],"dist":{"shasum":"5e87546cdc9e8b20c00e136ffef7085fc18b591b","tarball":"https://registry.npmjs.org/@skrillex1224/visitor-tools/-/visitor-tools-1.0.26.tgz","fileCount":3,"integrity":"sha512-LTDnFCTN7Er9lp0v8qoTMuzNS5s1EQAfbxdD8F3DrQi18E92b2TigdZ89EwHod8jYSpn0cE95OkYlN9JpLalKQ==","signatures":[{"sig":"MEUCIDJZnen2/y3TSLwMaYHiF7CjT/PRIjGY1ih/xNk4I6wUAiEAu25B0ljU8w6lxJ9H8la59sN0Os+qUVYIjc8cnsijIpE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14124},"main":"index.js","type":"module","gitHead":"96b06e65330415d8c3920fb1f2be775cf7ffbbf1","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"skrillex12242018","email":"572299072@qq.com"},"_npmVersion":"11.6.2","description":"一个在 Apify/Crawlee Actor 中启用实时截图视图的实用工具库。","directories":{},"_nodeVersion":"25.2.1","dependencies":{"express":"^4.18.2"},"_hasShrinkwrap":false,"peerDependencies":{"apify":"*","crawlee":"*","playwright":"*"},"_npmOperationalInternal":{"tmp":"tmp/visitor-tools_1.0.26_1765892796254_0.6504347654120479","host":"s3://npm-registry-packages-npm-production"}},"1.0.27":{"name":"@skrillex1224/visitor-tools","version":"1.0.27","description":"一个在 Apify/Crawlee Actor 中启用实时截图视图的实用工具库。","main":"index.js","type":"module","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["apify","crawlee","live-view","screenshot","playwright"],"author":{"name":"FJH"},"license":"ISC","dependencies":{"express":"^4.18.2"},"peerDependencies":{"apify":"*","crawlee":"*","playwright":"*"},"gitHead":"96b06e65330415d8c3920fb1f2be775cf7ffbbf1","_id":"@skrillex1224/visitor-tools@1.0.27","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-bmRmobt42uQDosAO/z4ynWjgjr1GldWwV4BREgPKCughgHFwCRBk1NKbw3TgLMavJTd/xq8usvHShP2IlpggqA==","shasum":"4fb1c589e359a8c409368a193acf4544f6dfd310","tarball":"https://registry.npmjs.org/@skrillex1224/visitor-tools/-/visitor-tools-1.0.27.tgz","fileCount":3,"unpackedSize":14139,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCohAuEfcq0F3ViYWtkBrmFt7I2j5s94zB4aDukimojeAIgPL8ON1TXjZso2kJEu1m9ZKIOCXNAMde4mCUokBo4QzQ="}]},"_npmUser":{"name":"skrillex12242018","email":"572299072@qq.com"},"directories":{},"maintainers":[{"name":"skrillex12242018","email":"572299072@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/visitor-tools_1.0.27_1765892931738_0.9512972969474787"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-14T08:03:04.548Z","modified":"2025-12-16T13:48:52.085Z","1.0.0":"2025-11-14T08:03:04.796Z","1.0.1":"2025-11-14T08:11:48.374Z","1.0.2":"2025-11-14T08:34:00.614Z","1.0.3":"2025-11-14T08:48:37.073Z","1.0.4":"2025-11-19T06:10:36.432Z","1.0.5":"2025-11-19T07:33:27.406Z","1.0.6":"2025-11-19T07:34:14.481Z","1.0.7":"2025-11-19T07:43:49.961Z","1.0.8":"2025-11-19T07:45:01.430Z","1.0.9":"2025-11-19T07:46:11.829Z","1.0.10":"2025-11-19T08:47:15.832Z","1.0.11":"2025-11-25T08:59:23.929Z","1.0.12":"2025-11-25T09:01:52.843Z","1.0.13":"2025-11-25T09:04:16.677Z","1.0.14":"2025-11-25T09:04:44.369Z","1.0.15":"2025-11-25T09:06:55.457Z","1.0.16":"2025-11-25T09:08:37.926Z","1.0.18":"2025-12-16T03:10:00.967Z","1.0.19":"2025-12-16T03:10:31.032Z","1.0.20":"2025-12-16T03:13:10.841Z","1.0.21":"2025-12-16T12:13:13.206Z","1.0.22":"2025-12-16T12:53:14.121Z","1.0.23":"2025-12-16T13:05:00.468Z","1.0.24":"2025-12-16T13:27:02.417Z","1.0.25":"2025-12-16T13:37:46.040Z","1.0.26":"2025-12-16T13:46:36.404Z","1.0.27":"2025-12-16T13:48:51.873Z"},"author":{"name":"FJH"},"license":"ISC","keywords":["apify","crawlee","live-view","screenshot","playwright"],"description":"一个在 Apify/Crawlee Actor 中启用实时截图视图的实用工具库。","maintainers":[{"name":"skrillex12242018","email":"572299072@qq.com"}],"readme":"# Visitor Tools - Tools\n\n> **类型**: Tools (通用工具库)\n> **用途**: 面向 Apify/Crawlee Actor 开发者的实用工具库。\n\n\n一个面向 Apify/Crawlee Actor 开发者的实用工具库，提供实时截图展示（Live View）、健壮的步骤执行封装、以及常用的 Playwright 优化工具。\n\n## 📦 安装\n\n```bash\nnpm install @skrillex1224/visitor-tools\n```\n\n## ✨ 功能特性\n\n### 1. Live View (实时截图展示)\n\n启动一个本地 Express 服务器，在 Apify 平台的 \"Live View\" 选项卡中实时查看浏览器当前状态。\n\n```javascript\nimport { useLiveView } from '@skrillex1224/visitor-tools';\n\nconst liveView = useLiveView();\n\n// 启动 Live View 服务器\nawait liveView.startLiveViewServer();\n\n// 在循环或步骤中捕获截图\nawait liveView.takeLiveScreenshot(page, \"正在处理步骤 1...\");\n```\n\n**工作原理**：\n- 截图保存到 Apify Key-Value Store\n- Express 服务器从 Store 读取最新截图\n- 页面每 1 秒自动刷新，展示实时状态\n\n### 2. 健壮的步骤执行 (`runStep`)\n\n将你的逻辑包装在 `runStep` 中，自动处理日志记录和失败截图。如果步骤失败，会自动捕获全页截图并将错误详情推送到 Dataset。\n\n```javascript\nimport { Utils } from '@skrillex1224/visitor-tools';\n\nawait Utils.runStep('登录步骤', page, async () => {\n    await page.click('#login');\n    await page.fill('#username', 'user');\n});\n```\n\n**失败输出示例**：\n```json\n{\n  \"status\": \"FAILED\",\n  \"failedStep\": \"登录步骤\",\n  \"errorMessage\": \"Timeout 30000ms exceeded\",\n  \"errorStack\": \"...\",\n  \"screenshotBase64\": \"data:image/jpeg;base64,...\",\n  \"timestamp\": \"2025-12-15T03:00:00.000Z\"\n}\n```\n\n### 3. Playwright 优化工具\n\n#### 资源拦截 - 加速页面加载\n\n通过屏蔽字体、图片、媒体等资源来加快爬取速度：\n\n```javascript\n// 默认屏蔽 font, image, media\nawait Utils.setupBlockingResources(page);\n\n// 自定义屏蔽类型\nawait Utils.setupBlockingResources(page, ['stylesheet', 'font', 'image']);\n```\n\n#### 视口设置\n\n```javascript\nawait Utils.setupViewport(page, 1920, 1080);\n```\n\n### 4. SSE 解析工具\n\n解析 Server-Sent Events (SSE) 流式数据的辅助函数：\n\n```javascript\nconst events = Utils.parseSseStream(responseText);\n// 返回一个数组，包含所有解析后的 JSON 对象\n```\n\n### 5. 失败键包装 (Failed Key Wrapping)\n\n为步骤名称添加自定义的失败标识符，方便在失败时进行分类和追踪：\n\n```javascript\nimport { wrapStepNameWithFailedKey, unwrapStepName, ErrorKeygen } from '@skrillex1224/visitor-tools';\n\n// 包装步骤名称\nconst wrappedName = wrapStepNameWithFailedKey(ErrorKeygen.NotLogin, '等待登录');\n\n// 解包\nconst [failedKey, stepName] = unwrapStepName(wrappedName);\n// failedKey: 30000001\n// stepName: '等待登录'\n```\n\n## 📚 完整示例\n\n```javascript\nimport { Actor } from 'apify';\nimport { PlaywrightCrawler } from 'crawlee';\nimport { useLiveView, Utils } from '@skrillex1224/visitor-tools';\n\nawait Actor.init();\n\nconst { startLiveViewServer, takeLiveScreenshot } = useLiveView();\n\nconst crawler = new PlaywrightCrawler({\n    preNavigationHooks: [\n        async ({ page }) => {\n            await Utils.setupViewport(page);\n            await Utils.setupBlockingResources(page);\n        },\n    ],\n    requestHandler: async ({ page }) => {\n        await takeLiveScreenshot(page, '页面加载完成');\n        \n        await Utils.runStep('点击登录按钮', page, async () => {\n            await page.click('#login-btn');\n        });\n        \n        await takeLiveScreenshot(page, '登录成功');\n    },\n});\n\nawait startLiveViewServer();\nawait crawler.run(['https://example.com']);\nawait Actor.exit();\n```\n\n## 🛠️ API 文档\n\n### `useLiveView(liveViewKey?)`\n\n创建 Live View 实例。\n\n- **参数**：\n  - `liveViewKey` (可选): Key-Value Store 中的键名，默认为 `'LIVE_VIEW_SCREENSHOT'`\n  \n- **返回对象**：\n  - `startLiveViewServer()`: 启动 Express 服务器\n  - `takeLiveScreenshot(page, logMessage?)`: 捕获截图并保存\n\n### `Utils.runStep(stepName, page, actionFn)`\n\n执行一个步骤并自动处理失败。\n\n- **参数**：\n  - `stepName`: 步骤名称 (支持使用 `wrapStepNameWithFailedKey` 包装)\n  - `page`: Playwright Page 对象\n  - `actionFn`: 要执行的异步函数\n\n### `Utils.setupBlockingResources(page, resourceTypes?)`\n\n设置资源拦截器。\n\n- **参数**：\n  - `page`: Playwright Page 对象\n  - `resourceTypes` (可选): 要屏蔽的资源类型数组，默认为 `['font', 'image', 'media']`\n\n### `Utils.setupViewport(page, width?, height?)`\n\n设置浏览器视口大小。\n\n- **参数**：\n  - `page`: Playwright Page 对象\n  - `width` (可选): 宽度，默认 1920\n  - `height` (可选): 高度，默认 1080\n\n### `Utils.parseSseStream(sseStreamText)`\n\n解析 SSE 流文本为 JSON 对象数组。\n\n- **参数**：\n  - `sseStreamText`: SSE 格式的文本\n  \n- **返回**: JSON 对象数组\n\n## 📝 注意事项\n\n- Live View 仅在 Apify 平台运行时可见（通过 Live View 选项卡）\n- `runStep` 捕获的截图是全页截图（JPEG 格式，质量 60），用于减少数据量\n- 资源拦截会显著提升加载速度，但可能影响需要图片/样式的页面\n\n## 📄 License\n\nISC\n","readmeFilename":"README.md"}