21xrx.com
2024-11-08 22:30:48 Friday
登录
文章检索 我的文章 写文章
Node.js Puppeteer的$$eval方法
2023-07-05 05:27:21 深夜i     --     --
Node js Puppeteer $$eval方法

Node.js是一个JavaScript运行时环境,适用于构建可扩展的服务器端应用程序。Puppeteer是一个Node.js库,它提供了一个API用于通过Chrome或Chromium控制Headless模式运行。 Headless模式不会显示在GUI中,而是作为后台进程运行。Puppeteer除了提供基本的网页操作之外,还提供了一些简单的API,例如$eval()和$$eval()。

在使用Puppeteer时,我们通常需要对DOM元素执行操作。Puppeteer提供了两个最常用的针对DOM元素的评估方法:$eval()和$$eval()。

$eval()

$eval()可以在页面上定义的同步上下文中执行一个“evaluate”函数。该函数被传递给DOM元素的参数,并且在页面上执行。它返回一个Promise,该Promise在页面上下文中解析为满足的姿态。

onst title = await page.$eval('title', el => el.innerText);

$$eval()

$$eval()可以在页面上定义的同步上下文中执行一个“evaluate”函数。该函数被传递到DOM元素匹配器的参数(例如CSS选择器,并在页面中选择所有匹配的元素。该方法返回一个数组,数组包含执行evaluate()函数所得到的结果。如果没有找到匹配的元素,则返回空数组。

onst links = await page.$$eval('a', els => els.map(el => el.href));

在这个例子中,我们将选中页面上的所有链接,然后返回它们的href属性。随着我们继续使用Puppeteer,我们会发现这两种方法在许多情况下使用。因此,熟悉这些方法是非常重要的。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复
    相似文章