我正在使用nodejs和puppeteer从youtube抓取搜索结果,我有一个来自redshift的关键字列表,对于每个关键字,我都在尝试获取搜索结果中前10个视频的详细信息。
它可以工作,但是当我获得少于10个视频(或没有一个关键字)的视频时,它就卡住了。
我正在使用page.$$
抓取包含每个视频的元素,并一直滚动直到获得10个视频(while(videosPerKeyword.length <= 10)
)。
问题是我无法等待waitForSelector
获得视频元素,也无法等待waitForSelector
获得div并同时显示消息“没有更多结果”。
如果我收到10个视频,或者如果视频少于10个并且没有更多滚动空间,则控件应移出while循环。
如何处理第二个条件?
Here's代码供您参考。 start()
函数是主要功能所在。