puppeteer脱坑指南

47次阅读

共计 529 个字符,预计需要花费 2 分钟才能阅读完成。

记录 puppeteer 爬虫遇到的坑


1. page.$(selector)中,selector 不精确
2. page.goto(url[, options]),跳转多个页面卡死的情况

page.$(selector)中,selector 不精确

打开控制台,在页面查看器里右键点击需要用到的 DOM,Copy -> Copy Selector,此时复制到的就是 DOM 元素在本页面最精确的节点路径
比如我要拿到思否首页的 logo 的节点路径

body > div.global-nav.sf-header.sf-header--index > nav > div.row.hidden-xs.hidden-sm > div.col-sm-8.col-md-9.col-lg-9 > div.sf-header__logo > h1 > a

page.goto(url[, options]),跳转多个页面卡死的情况

puppeteer 爬虫是去拿的页面的 dom,{waitUntil: ‘domcontentloaded’},加上这句话表示等待页面 DOM 加载完成后才有返回值,这样避免了页面 DOM 没加载完就去爬数据而导致的错误
await page.goto(url, {waitUntil: ‘domcontentloaded’});

正文完
 0