puppeteer脱坑指南

记录puppeteer爬虫遇到的坑


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

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

打开控制台,在页面查看器里右键点击需要用到的DOM,Copy -> Copy Selector,此时复制到的就是DOM元素在本页面最精确的节点路径
比如我要拿到思否首页的logo的节点路径
puppeteer脱坑指南_第1张图片
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'});
puppeteer脱坑指南_第2张图片

你可能感兴趣的:(node.js,nodejs爬虫,puppeteer)