Как включить или отключить атрибут элемента в true / false в кукловоде - PullRequest
1 голос
/ 25 марта 2019

Я хочу включить элемент с помощью jQuery, не знаю, как реализовать в кукловоде, но выдает ошибку 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 голосов
/ 25 марта 2019

Задача

page.$('[name=creditCardNumber],[name=cvv]') возвращает Обещание, которое вам сначала нужно дождаться, прежде чем вы сможете вызвать функцию (например, attr на нем).

Существует также другая проблема: функция attr является функцией jQuery, которая недоступна для ElementHandle в кукловоде.

Fix

Вы можете выбрать узел и затем установить disabled на false (без jQuery) с помощью функции page.$eval. Функция сначала запрашивает узел, а затем выполняет функцию на нем.

await page.$eval('[name=creditCardNumber],[name=cvv]', el => el.disabled = false);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...