用puppeteer获取class="news mt10"下li标签下的a标签的值和链接
时间: 2023-02-06 11:12:35 浏览: 177
使用puppeteer爬取网站并抓出404无效链接
Puppeteer 是一个 Node.js 库,它提供了一组用来控制 Chrome 或者 Chromium 的 API。
要获取 class 为 "news mt10" 的元素下的 li 标签中的 a 标签的值和链接,你可以这样做:
1. 使用 Puppeteer 的 `page.evaluate()` 方法在浏览器中执行 JavaScript 代码,通过 DOM 操作获取所需的信息。
2. 在浏览器中使用 DOM 方法获取 class 为 "news mt10" 的元素,例如 `document.querySelector('.news.mt10')`。
3. 获取该元素下的所有 li 标签,例如使用 `querySelectorAll()` 方法。
4. 循环遍历 li 标签,获取每个 li 标签中的 a 标签的值和链接。
5. 将获取的信息返回给 Node.js 程序。
这里是一个示例代码:
```
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('http://example.com');
const links = await page.evaluate(() => {
// 获取 class 为 "news mt10" 的元素
const newsElement = document.querySelector('.news.mt10');
// 获取该元素下的所有 li 标签
const links = newsElement.querySelectorAll('li');
// 存储 a 标签的信息
const result = [];
// 循环遍历 li 标签
for (const link of links) {
result.push({
text: link.textContent, // a 标签的值
href: link.href, // a 标签的链接
});
}
return result;
});
console.log(links);
await browser.close();
})();
```
希望这能帮
阅读全文