我对Pupetter还不熟悉,我正试图通过一些例子来了解它是如何工作的:
所以基本上我在这个例子中要做的就是提取一个Youtube视频的浏览量。我在Chrome控制台上写了一行js代码,可以提取以下信息:
document.querySelector('#count > yt-view-count-renderer > span.view-count.style-scope.yt-view-count-renderer').innerText
效果很好。然而,当我对我的密码做同样的操作时,他无法识别我查询的元素。
const puppeteer = require('puppeteer')
const getData = async () => {
const browser = await puppeteer.launch()
const page = await browser.newPage()
await page.goto('https://www.youtube.com/watch?v=T5GSLc-i5Xo')
await page.waitFor(1000)
const result = await page.evaluate(() => {
let views = document.querySelector('#count > yt-view-count-renderer > span.view-count.style-scope.yt-view-count-renderer').innerText
return {views}
})
browser.close()
return result
}
getData().then(value => {
console.log(value)
})
我终于用ytInitialData对象做了。不过,我想知道为什么我的第一个代码没有工作。
谢谢