希望继续向下滚动,直到具有特定类名的所有元素都加载到动态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!我应该注意页面上已经加载了数百个这样的元素!
这就是它坚持这个循环的原因。我不明白,当页面包含数百个这些元素时,它会达到这些值。