Jest Puppeteer - Как выбрать второе вхождение класса в модале? - PullRequest
0 голосов
/ 09 марта 2020

Я сейчас пишу несколько автоматических тестов с шутником-кукловодом. Я сталкиваюсь с ситуацией, когда в DOM появляются два элемента с одинаковыми классами. Я пытаюсь, чтобы Puppeteer щелкнул по второму вхождению, но он продолжает щелкать по первому элементу !!

Вот разбивка моего рабочего процесса для ясности.
1. На главной странице есть элемент с классом .action-button.
2. Нажмите на другую кнопку, которая открывает модал.
3. На модале есть еще одна кнопка с классом .action-button.
4. Я не могу заставить Puppeteer щелкнуть по второму .action-button из модального списка !!

Вот фрагмент моего кода.

    await page.waitForSelector('.open-modal');

    await page.waitForSelector('.action-button');

    await page.click('.action-button)';

Как я могу заставить Puppeteer щелкнуть по второму .action-button?

РЕДАКТИРОВАТЬ - РЕШЕНИЕ Клянусь, я пробовал это раньше, но у меня, должно быть, был пердеть мозг.

Решение - простой селектор CSS с уникальным значением родительского атрибута и классом, который я ищу.

    await page.waitForSelector('.open-modal');

    await page.waitForSelector('[unique-attr] .action-button');

    await page.click('[unique-attr] .action-button)';

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