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” 进入“菜鸟教程”,然后再关闭浏览器。