npm 包 speculum 使用教程

阅读时长 6 分钟读完

简介

Speculum 是一个基于 Node.js 的轻量级 Chrome DevTools 协议实现。它提供了一组简单的方法和事件,可使我们轻松地与Chrome浏览器交互。本篇文章介绍了 speculum 的使用方法,让我们能够通过几行代码就可以控制 Chrome 浏览器。

安装

使用 npm 安装 speculum:

快速入门

打开一个网页

在我们开始操作 Chrome 浏览器之前,我们需要先运行它:

现在你可以打开一个网页了:

查找元素

speculum 允许我们通过选择元素的方式来操作网页上的元素,如下所示:

在上述代码片段中,我们使用了 findElements 方法来查找百度搜索输入框,该方法会返回一个表示文本输入字段的 ElementHandle 对象。

如果找不到元素,findElements 将返回一个空数组。

输入文本并点击搜索按钮

-- -------------------- ---- -------
----- - ------- ------------- -------- - - --------------------

----- -------- ------ -
  ----- ------ - --- ---------
  ----- ---------------
  ----- ----------- - ----- ---------------------------------
  ----- --------------------
  ----- ------------- - ------ ----- ------ --- ---
  ----- -----------------------------
  ----- ------------------
  ----- ------------
  ----- ---------------------- ----- ---------------- ---
  ----- ---------------
-

-------- ----------- -
  ------ --- ----------------- -- ------------------- -------
-

----------------------------

在上述代码片段中,我们使用 focus 方法将焦点聚焦到搜索输入框中。我们还使用了 type 方法,该方法将键盘事件发送到输入框中。

最后,我们使用了 getScreenshot 方法截取当前浏览器页面的屏幕快照并将其保存为 screenshot.png 文件。

操作网页

speculum 允许我们执行各种操作,包括暂停、恢复、重新加载网页等,如下所示:

-- -------------------- ---- -------
----- - ------- --------- ------ ------ ----------- -------- - - --------------------

----- -------- ------ -
  ----- ------ - --- ---------
  ----- ---------------
  ----- ----------------------------------
  ----- ------------
  ----- ----------------------
  ----- ------------
  ----- -------------
  ----- -----------
  ----- ---------------
-

----------------------------

在上述代码片段中,我们使用了 click 方法单击百度搜索结果的第一个链接,然后使用 openNewTab 方法打开一个新标签页,最后使用 closeTab 方法关闭当前标签页。

建立调试会话

speculum 还允许我们建立一个调试会话,以便在开发过程中检查和调试代码。

-- -------------------- ---- -------
----- - ------- --------------------- - - --------------------
----- --------- - --------------------------

----- -------- ------ -
  ----- ------ - --- ---------
  ----- ---------------

  ----- ------- - ----- -------------------
    ------------------ -------------------------
    ---------------- -----
    ----- -
      ------------------------------------------------------
    -
  ---

  ----- ---- - ----- ------------------
  ----- ----------------------------------
  ----- ----------------------------- ------------
  ----- -----------------------------
  ----- -------------------------

  ----- ----------------------------------------- ----- ----------- -- -
    ----- - --- - - ----------
    ----- -------------
    ----- ------------- - ----- ------------------
    ---------------------------
  ---

  ----- ---------------
-

----------------------------

在上述代码片段中,我们使用 puppeteer-core 模块来建立一个调试会话。我们使用 createDevToolsSession 方法与该会话进行通信并调试 DOM。

总结

现在你已经掌握了 speculum 的基础部分。它是一个基于 Node.js 的轻量级 Chrome DevTools 协议实现,提供了一组简单的方法和事件,可以轻松地与Chrome浏览器交互。在此过程中,你还学会了如何打开一个网页,查找元素,输入文本并单击按钮等。此外,我们还介绍了如何建立一个调试会话以帮助我们检查和调试代码。

希望这篇文章对你有帮助。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6006709f8ccae46eb111f049

纠错
反馈