请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

puppeteer抓取豆瓣网页信息的时候

puppeteer抓取豆瓣网页信息的时候,用await page.click('.more'),模拟了点击更多这个按钮,这时候如何判断分页加载完毕?以及如何判断所有的接口都返回完毕?

正在回答

3回答

waitForSelector 如果不够用,比如有的 selector 没有特殊的特征,可以等待 3 秒钟或者 5 秒钟,这是一个经验值,可以设大设小的,也可以脚本中第一次爬,存一个变量记录页面上目标元素的数量,每次点击且等待后,看元素数量是否增加,如果没有,继续等待,如果增加了,直接去获取拿来用就好了

0 回复 有任何疑惑可以回复我~
  • 提问者 DyzziMon #1
    等待某个时间值容易受到网络波动影响,第二个方案我也考虑过,通过waitfor目标元素的数量是否增加来判断是否需要继续等待,这样需要考虑的条件又多了,包括超时,网络错误等情况,总觉得不够优雅,看了pupeteer的文档貌似也没有提到过等待response全部返回的相关的api,倒是有监听response事件的_(:з」∠)_
    回复 有任何疑惑可以回复我~ 2018-02-13 10:33:43
提问者 DyzziMon 2018-02-13 10:35:28

另外发现慕课网评论添加表情会报错,难道数据库不支持emoji?

0 回复 有任何疑惑可以回复我~
lcxry 2018-02-12 16:31:47

waitForSelector


0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信