我写了一段曾经起作用的代码: 我所做的是,我使用了具有特定类名的元素,并将它们放入数组中。 我向下滚动,这样就加载了新元素,并且我做了同样的操作,直到我不再向下滚动(这意味着我已经加载了该页面的所有元素)
那曾经有用。直到不久前,我开始收到错误消息。
相同的代码所没有的是,它成功地循环了三个迭代,然后失败了。
这意味着它会加载元素,向下滚动,加载新元素,但在第三次迭代中会失败。
我手动访问了该网页,但是我确认每次向下滚动时,确实创建了新元素。
为什么我的代码在向下滚动的第三次迭代中看不到它们?
这是我使用的代码:
await page.evaluate( () => {
window.scrollBy(0, window.innerHeight);
});
try {
if (links.length < counter) { await page.waitForSelector('.cl1.d2'); }
console.log('TRY BLOCK SUCCEEDED');
} catch(error) {
console.log('I AM AN ERROR THAT OCCURS IN THE SCROLL DOWN CODE');
break;
}
当我轻松地循环两次以获取新元素时,在第三个循环中,它会停留一段时间,然后给出我指定的错误消息。
但是新元素已加载到网页中。
我使用的特定行是否有问题?
page.waitForSelector('.cl1.d2');
过去我是如何做到这一点的,但是现在我不能?