什么是 npm 包 brainless
npm 包 brainless 是一个轻量级的 JavaScript 库,它可以帮助开发者创建一个全新的无头浏览器实例。它基于谷歌浏览器内核 Chromium 和无头浏览器工具 Puppeteer,提供了一些非常方便的 API 来操控 Chromium 浏览器。
无头浏览器是指没有具体的 UI 界面,通过编程或命令行进行调用,可自动进行页面截屏、爬取网站数据、模拟用户行为等工作。它在网站测试、自动化测试、爬虫、社交媒体自动群发等领域有着广泛的应用。
安装 brainless
在使用 brainless 之前,需要先在本地安装它:
npm install brainless
需要注意的是,brainless 依赖于 Chromium,所以首次安装可能会比较慢,耐心等待完成即可。
使用 brainless
使用 brainless 可以很方便地创建一个无头浏览器实例,然后就可以调用相应的浏览器 API 进行操作。下面我们将详细介绍 brainless 的使用方法:
1. 引入 brainless
在需要使用 brainless 的文件中,首先需要引入 brainless:
const Brain = require('brainless');
2. 创建无头浏览器实例并打开网页
声明一个 Brain 实例,然后调用 open 方法,传入需要打开的链接即可打开网页:
const brain = new Brain(); await brain.open('https://www.baidu.com/');
3. 模拟键盘、鼠标操作
Brainless 提供了一些方便的 API 来模拟键盘和鼠标操作:
- 录入文本:
await brain.type('#kw', 'puppeteer')
- 点击元素:
await brain.click('#su')
- 按下键盘:
await brain.press('Enter')
4. 页面截屏
截屏是无头浏览器的一大特色,Brainless 也提供了相应的 API:
await brain.screenshot('screenshot.png', { fullPage: true })
其中第一个参数为截屏图片的保存路径,第二个参数为截屏时的配置,fullPage
为 true 表示要截取整个页面。
5. 关闭浏览器
Brainless 使用完毕后需要及时关闭:
await brain.close()
示例代码
下面是一个简单的示例代码,用来演示如何使用 Brainless 打开谷歌首页、在搜索框中输入信息,然后进行搜索:
-- -------------------- ---- ------- ----- ----- - --------------------- ----- -------- ------ - ----- ----- - --- -------- --- - -- ------ ----- -------------------------------------- -- ------- ----- --------------------------- ------------- -- ------ ----- ---------------------------------- -- ------------ ----- -------------------------- -- ---- ----- ---------------------------------- - --------- ---- -- - ------- - ----- -------------- - - -------
我们可以看到,Brainless 的 API 足够简单明了,即使是新手也能够很容易上手。它为无头浏览器提供了一套方便实用的方法,而且代码量不大,如果你正在开发一个爬虫、测试工具或者自动化工具,Brainless 无疑是一个很好的选择。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066c83ccdc64669dde4e1d