我正在尝试通过td [class =“ titleColumn”]进行迭代。这是我当前的代码。
const puppeteer = require('puppeteer');
(async () => {
let movieURL = 'https://www.imdb.com/chart/top/?ref_=nv_mv_250';
let browser = await puppeteer.launch({ headless: false});
let page = await browser.newPage();
await page.goto(movieURL, {waitUntil: 'networkidle2'});
let data = await page.evaluate(() => {
let title = document.querySelector('td[class="titleColumn"]').innerText;
return{
title
}
})
console.log(data);
await browser.close()
})();
我只有一个标题。我将如何遍历它?
使用querySelectorAll:
[...document.querySelectorAll('td[class="titleColumn"]')].map(td => td.innerText)
这是正常的,因为document.querySelector
停在找到的第一项。使用document.querySelectorAll
代替,它应该可以工作。
您可以使用类似的方法进行此操作:
document.querySelectorAll('td[class="titleColumn"]').forEach(td => td.innerText)