首页 > 解决方案 > 如何在 puppeteer 中启用或禁用元素属性为真/假

问题描述

我想使用 jQuery 启用元素不知道如何在 puppeteer 中实现,但它给出了错误Property 'attr' does not exist on type 'Promise<ElementHandle<Element>>'.

这是我的代码:

await page.$('[name=creditCardNumber],[name=cvv]').attr('disabled',false);

这是我需要执行的 jQuery

$('[name=creditCardNumber],[name=cvv]').attr('disabled',false)

标签: jquerypuppeteer

解决方案


问题

page.$('[name=creditCardNumber],[name=cvv]')返回一个 Promise,您首先需要等待它才能调用一个函数(就像attr它一样)。

还有一个问题:这个函数是一个jQuery函数,在puppeteerattr上是不可用的。ElementHandle

使固定

您可以选择节点,然后使用函数设置disabledfalse(不带 jQuery)page.$eval。该函数首先查询一个节点,然后在其上执行该函数。

await page.$eval('[name=creditCardNumber],[name=cvv]', el => el.disabled = false);

推荐阅读