小编Ars*_*son的帖子

Playwright - 如何检查元素是否在视口中?

我有一个类似数组的节点对象(它是一个轮播),它们的顺序是在每次页面刷新时随机生成的,剧作家发现所有元素都是可见的,但其中一些元素在视口之外(基于收到的错误) 。我需要确保在尝试单击该元素时该元素位于视口内,否则我会收到一条错误消息,指出该元素位于视口外。

如何确定类似数组对象的随机选取的节点元素是否确实在视口内?

javascript viewport puppeteer playwright

6
推荐指数
2
解决办法
9739
查看次数

使用 Promise.all 通过 Puppeteer 实现某种多线程

我想咨询一下可能的思路。

编写抓取机器人或在网站上执行某些活动的机器人(使用 Puppeteer),我经常需要“某种”多线程功能,以便能够同时访问多个页面并对它们执行某些操作,最好是同时进行时间也是如此。

为此,我按照以下模式使用 Promise.all():

const runInParallel = async(len) => {

    // create an array with a number of elements corresponding to required number of functions
    // to be performed at the same time 
 
    // these can also be URLs if I happen to know them beforehand 

    const iterations = [...Array(len).keys()]; 

    // create an array of promises that run in parallel 
    return await Promise.all(
        iterations.map(async i => {
            try {
                // use puppeteer to access a page, get data or …
Run Code Online (Sandbox Code Playgroud)

javascript multithreading async-await puppeteer

5
推荐指数
1
解决办法
701
查看次数