puppeteer 无法输出内容

来源:6-2 利用 puppeteer 爬取和分析电影列表

石头作坊

2018-02-26

const puppeteer = require('puppeteer')
// 设置所要爬取的URI地址
const url = 'https://movie.douban.com/tag/#/?sort=T&range=0,10&tags='
const sleep = time => {
return new Promise(resolve => {
setTimeout(resolve, time)
})
};
(async () => {
console.log('------------开始爬取')
// 声明一个browser
const browser = await puppeteer.launch({
args: ['--no-sandbox'],
dumpio: false
})
// 创建一个页面
const page = await browser.newPage()
// 访问地址
await page.goto(url, {
waitUntil: 'networkidle2' // 直到网络空闲结束访问
})
// 再延时3秒钟,保证数据完整
await sleep(3000)
await page.waitForSelector('.more')
for (let i = 0; i < 1; i++) {
await sleep(3000)
await page.click('.more')
}
// 获取网页内容,并在网页上加载脚本文件
const result = await page.evaluate(() => {
console.log('页面等待了很久都没有任何输出内容')
})
})()


写回答

1回答

石头作坊

提问者

2018-02-26

实际上有进入evaluate函数的,console只是在chromium浏览器里面执行,在自己的终端看不到,去查了puppeteer的文档,监听console的log事件,打印到自己的终端解决

2
1
百兽凯多00
你在第9行括号前加点东西,比如;或者+,就可以了,否则这是个匿名函数,不是自执行函数
2018-03-16
共1条回复

Koa2框架从0开始构建预告片网站

Koa2+MongoDB+Parcel+Puppeteer+AntDesign快速搭建预告片网站

751 学习 · 362 问题

查看课程