Я сейчас пишу несколько автоматических тестов с шутником-кукловодом. Я сталкиваюсь с ситуацией, когда в 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)';