如何在 puppeteer 中启用或禁用 [​​=10=] 的元素属性

How to enable or disable the element attribute to true/false in 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)

问题

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

还有一个问题:函数attr是一个jQuery函数,在puppeteer的ElementHandle上是没有的。

修复

您可以select节点,然后使用函数page.$evaldisabled设置为false(没有jQuery)。该函数首先查询一个节点,然后在其上执行该函数。

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