const puppeteer = require("puppeteer");
const path = require('path');
const pathToExtension = path.join(__dirname, './chrome-mac/Chromium.app/Contents/MacOS/Chromium');
const conf = {
headless: false,
executablePath: pathToExtension,
defaultViewport: {
width: 1300,
height: 900
},
};
(async () => {
const browser = await puppeteer.launch(conf)
const page = await browser.newPage()
await page.goto('https://www.baidu.com/', {waitUntil: 'networkidle2'});
//addScriptTag需要加在goto的后面,然后就可以在evaluate里使用jQuery的语法了。
await page.addScriptTag({
url: 'https://code.jquery.com/jquery-3.2.1.min.js',
});
await page.waitFor('#u1')
// 可以接收evaluate内部打印的console内容
page.on('console',msg=>{
for(let i =0;i<msg.args().length;i++){
console.log(`${i}: ${msg.args([i])}`)
}
})
const result = await page.evaluate(() => {
let data = []; // 初始化空数组来存储数据
let elements = $("#u1"); // 获取所有元素
for (let element of elements){
let title = element.innerText; // 获取标题
let url = element.href;//获取网址
data.push({title,url}); // 存入数组
}
return data;
});
console.log(result);
await page.waitFor(3000);
await browser.close();
})();
相关文章:
- 爬虫简介及实现一个简单的爬虫Demo 2022-01-19
- 爬虫(一)—— 爬取一个简单的网站 2021-12-18
- Python爬虫——用xpath做一个简单爬虫 2021-12-11
- 一个比较简单的爬虫 2021-11-05
- 做一个简单的scrapy爬虫 2021-11-15
- 一个简单的小说爬虫 2021-08-30
- 一个简单的python爬虫(转) 2021-09-10
- 一个简单的百度爬虫 2022-12-23