如何在puppeteer中启用或禁用element属性为true / false

时间:2019-03-25 18:44:54

标签: jquery 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)

1 个答案:

答案 0 :(得分:0)

问题

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

还有另一个问题:函数attr是jQuery函数,在伪操纵者的ElementHandle上不可用。

修复

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

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