等待页面的值不正确。$$('。'))。length

时间:2018-06-07 12:48:53

标签: javascript node.js puppeteer

希望继续向下滚动,直到具有特定类名的所有元素都加载到动态HTML环境中。

这是我使用的代码:

while ( (await page.$$('.xj7')).length < counter) { 
    await page.evaluate( () => 
         window.scrollBy(0, window.innerHeight));
 }

问题是在加载所有元素后,它不会停止滚动。我不知道为什么会这样,因为它应该退出while循环。

我决定测试page.$$('.xj7')).length

的值

我写了这个测试代码:

while ( (await page.$$('.xj7')).length < counter) { 
   const read = (await page.$$('.xj7')).length;
   console.log(read);
   await page.evaluate( () => 
      window.scrollBy(0, window.innerHeight));
}

价值从12增加到24,然后他们被困在30!然后当页面加载了所有元素时,值降为28!我应该注意页面上已经加载了数百个这样的元素!

这就是它坚持这个循环的原因。我不明白,当页面包含数百个这些元素时,它会达到这些值。

0 个答案:

没有答案