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事件,打印到自己的终端解决
212018-03-16
相似问题