简介
@mantsa-debilis/machinist是一个用于收录机器人和自动化工具的基于javascript和Node.js 的开发框架,它构建于 Node.js 中的 Puppeteer 和 Node-cron 上。
安装
可以通过NPM包管理器进行安装:
npm install @nbcnews/machinist
快速上手
Puppeteer 基础
Puppeteer是一个高度可用的Node.js库,它提供了一个用于操纵Headless Chrome(即没有UI界面的谷歌浏览器)的API。我们可以使用Puppeteer编写基于Chromium的自动化测试,操作界面并收集数据。
以下代码展示了一个使用Puppeteer打开谷歌网站的示例:
-- -------------------- ---- ------- ----- --------- - --------------------- ------ -- -- - ----- ------- - ----- ------------------- -- ------- ----- ---- - ----- ------------------ -- ------- ----- ------------------------------------ -- --------- ----------------- -------------- -- ----- ----- ---------------- -----
@nbcnews/machinist的基本使用方法
在使用@mantsa-debilis/machinist之前,我们需要调用它的init()方法,该方法将返回一个新实例。
const Machinist = require('@nbcnews/machinist') const robot = new Machinist({ name: 'My Awesome Robot', debug: true, headless: false })
我们可以在Machinist构造函数内传递多个参数,其中一些重要的参数包括:
- name: 机器人的名称
- debug: 是否在调试模式下运行
- headless: 是否在headless模式下运行
我们还可以使用Machinist提供的一些其他方法来构建和控制机器人。
// 配置机器人 robot.configure() // 初始化机器人,启动浏览器窗口 robot.init() // 启用任务定时器 robot.scheduled()
任务调度
Machinist集成了Node-cron,使我们可以轻松地执行程序的定时任务。
-- -------------------- ---- ------- ----- ---------- - --------------------------- -- ------------ ---------------- ----- ----------- ----- -- - - - --- ------------ ----- --- ------ --- --------- -------- ---- --
在上述代码中,我们定义了一个name为“FindFriend”的计划任务,该任务每小时30分运行。我们还可以通过其他属性来自定义计划任务。
更多示例代码
以下是一个使用Machinist自动化登录网站并下载内容的示例。
-- -------------------- ---- ------- ---- -------- ----- --------- - --------------------- ----- ------- - ------------------- ----- ------- - ---------------------- ----- --------- - ------------------------------ ----- ----- - --- ----------- ----- --- ------- ------- ------ ----- --------- ----- --- ----- -------- ------- - ----- ------- - ----- ------------------- ----- ---- - ----- ------------------ ----- ------------------------------------------- ----- ---------------------- --------- ----- ---------------------- ------------ ----- ---------------------- ----- ------------------------- ----- ------- - ----- --------------- ----- ---------------- ------ -------- - ---------------- ----- ----- -------- -- - ----- ------- - ----- -------- ----- --- - ----- ----------------------------------------------- -------------- --------- ----- - - ----------------------- -------------------- -- - ----- --- - --------------------- -- ---------------------- - ----- -------- - ---------------------------- ---------------- -------------- -------- ----------------------------------------------------- - --- -- ----- -- - - - --- ---
在此示例中,我们首先使用Puppeteer自动化执行登录。然后我们使用cookies进行网页内容下载。我们将此任务计划在每天8点运行。
结论
@mantsa-debilis/machinist提供了一个优秀的基于Node.js的机器人和自动化工具框架。通过学习和使用Machinist,我们可以构建强大且高效的机器人和自动化工具。无论是用于简单的任务还是考虑复杂性,Machinist都是非常值得考虑的选择。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066bcc967216659e244866