const puppeteer = require('puppeteer');
(async () => {//打开浏览器const browser = await puppeteer.launch({headless: false});//打开新的标签页const page = await browser.newPage();//将打开的标签页跳转到百度首页。await page.goto('https://baidu.com');//在百度搜索输入框中输入 "Node.js" 关键字await page.type('#kw', 'Node.js', {delay: 100});//执行点击搜索按钮page.click('#su')await page.waitFor(1000);//在搜索结果中遍历标题包含“菜鸟教程”关键字的链接const targetLink = await page.evaluate(() => {return [...document.querySelectorAll('.result a')].filter(item => {//取搜索结果中 标题包含“菜鸟教程”关键字的链接return item.innerText && item.innerText.includes('菜鸟教程')})[0].toString()//如果结果有多条,只取第1条,并转为string返回});//当前页面跳转到搜索结果返回的链接await page.goto(targetLink);await page.waitFor(1000);//关键浏览器browser.close();
})()
安装 npm i puppeteer
执行 node test.js 打开浏览器,百度搜索“Node.js” 进入“菜鸟教程”,然后再关闭浏览器。
https://zhaoqize.github.io/puppeteer-api-zh_CN/#/