摘要:
中文文档:https://zhaoqize.github.io/puppeteer-api-zh_CN/ CSS选择器语法: https://www.runoob.com/cssref/css-selectors.html 一、获取元素信息 page.$(selector) 在页面内执行 docum 阅读全文
摘要:
一、先找父元素,再找子元素 1.通过page.evaluate传参的方式 // 已经找出父元素 const foo = await page.$('.foo'); // 将父元素带入 `evaluate` 事件中,通过原生方法继续后续操作 const bar = await page.evaluat 阅读全文
摘要:
6、如何抓取 iframe 中的元素 一个 Frame 包含了一个执行上下文(Execution Context),我们不能跨 Frame 执行函数,一个页面中可以有多个 Frame,主要是通过 iframe 标签嵌入的生成的。其中在页面上的大部分函数其实是 page.mainFrame().xx 阅读全文
摘要:
1、截图 使用 Puppeteer 既可以对某个页面进行截图,也可以对页面中的某个元素进行截图: (async () => { const browser = await puppeteer.launch(); const page = await browser.newPage(); //设置可视 阅读全文
摘要:
puppeteer 提供了两种方法用于创建一个 Browser 实例: puppeteer.connect: 连接一个已经存在的 Chrome 实例 puppeteer.launch: 每次都启动一个 Chrome 实例 方式一:使用 puppeteer.launch 启动一个 Chrome 实例 阅读全文
摘要:
1.运行时报错:ExperimentalWarning: The fs.promises API is experimental 解决:下载最新版本的Node~ 2.启动后,页面崩溃 解决: const args = [ '--no-sandbox', '--disable-setuid-sandb 阅读全文
摘要:
Puppeteer 是 Chrome 开发团队在 2017 年发布的一个 Node.js 包,用来模拟 Chrome 浏览器的运行。功能比PhantomJs 要强大很多。 一、什么是 Chrome DevTool Protocol 1.CDP 基于 WebSocket,利用 WebSocket 实现 阅读全文
摘要:
Puppeteer是谷歌官方出品的一个通过DevTools协议控制headless Chrome的Node库。 可以通过Puppeteer的提供的api直接控制Chrome模拟大部分用户操作来进行UI Test或者作为爬虫访问页面来收集数据。 一、环境和安装 Puppeteer推荐使用7.6版本以上 阅读全文
摘要:
一、前置知识 1. 动态网页和网页源码 在爬虫领域中,静态网页与动态网页的定义与传统定义是完全不同的。 静态网页指的是网页主体内容的渲染工作在服务器端完成,并通过响应正文返回的网页。 动态网页指的是主体内容或者全部内容都需要客户端执行 JavaScript 代码来计算或渲染的网页。 网页源码,是指未 阅读全文
摘要:
选取节点 XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。 下面列出了最有用的路径表达式: 表达式 描述 nodename 选取此节点的所有子节点。 / 从根节点选取。 // 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。 . 选取当前节 阅读全文
摘要:
1、XPATH使用方法 使用XPATH有如下几种方法定位元素: a、通过绝对路径定位元素(不推荐!) WebElement ele = driver.findElement(By.xpath("html/body/div/form/input")); b、通过相对路径定位元素 WebElement 阅读全文