官方英文版API入口:https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md.
汉化版API入口:https://yq.aliyun.com/articles/607102.
学习笔记入口:https://blog.csdn.net/qupan1993/article/details/85371556.
首先看一段中文版API的解释:
更多我就不解释了,官方和中文版的API已经很详细了,
接下来我就上一个例子来介绍常用的功能:
新建eval.html
<!DOCTYPE html>
<html>
<head>
<title>eval-demo</title>
</head>
<body>
<input type="text" value="第一次输入内容" id="input_01">
<input type="text" value="第二次输入内容" id="input_02">
<a href="https://www.baidu.com/" style="padding-left: 50px" id="click">点击进入百度</a>
<hr>
<div id="div_text" style="height: 200px;width: 150px;overflow: auto;" >
<p>
page.$eval(selector, pageFunction[, ...args])
selector <string> 一个selector查询页面page
pageFunction <function> 在浏览器上下文中求值函数
...args <...Serializable|JSHandle> 传递给pageFunction的参数
returns: <Promise<Serializable>> Promise解析为pageFunction的返回值
该方法在页面内运行document.querySelector,并将其作为第一个参数传递给pageFunction。 如果没有与selector匹配的元素,则该方法将引发错误。
如果pageFunction返回一个Promise,那么page.$eval会等待承诺解析并返回它的值。
Examples:
</p>
</div>
</body>
</html>
新建demo.js 文件
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({
headless:false});
const page = await browser.newPage();
//goto里面的网址记得换成自己的
await page.goto('file:///MAC/Study/27.Puppeteer/case/eval.html');
// 点击元素
await page.