Кукловод: как просмотреть каждый класс кнопки и щелкнуть, если указано c имя класса найдено - PullRequest
0 голосов
/ 28 марта 2020

Как получить доступ к каждому классу кнопок и щелкнуть, если указано c имя класса найдено

    <button class="b-deliverytime--slot b-deliverytime--slot-unavailable" aria-label="Not Available Today" title="Not free today">Busy</button>
<button class="b-deliverytime--slot b-deliverytime--slot-available" aria-label="Available Today" title="Today Free">Free</button>

Мне нужно найти каждую кнопку с параметром --slot-available и нажать ее

Ответы [ 2 ]

0 голосов
/ 29 марта 2020

Не используйте forEach для асинхронного выполнения, поскольку оно отбрасывает обещания, а не ожидает их. Используйте простое для l oop:

const buttons = await page.$$('button[class*="--slot-available"]')

for (const button of buttons)
    await button.click();
0 голосов
/ 28 марта 2020

Вы можете использовать селектор CSS для фильтрации:

const elements = await page.$$('button[class*="--slot-available"]');

elements.forEach(async element => {
  await element.click();
});

Селектор [attribute*=value] соответствует каждому элементу, значение attribute которого содержит указанное value.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...