Всплывающее окно NodeJS Handle с кукловодом

В учебных целях на определенной странице на Amazon я нажимаю кнопку, открывающую внутреннее «всплывающее окно». Таким образом, Puppeteer не видит всплывающее окно, и я не могу щелкать и обрабатывать элементы.

Давайте начнем с https://www.amazon.de/ .

Используя кукольника, я бегу:

await page.evaluate(() =>{
        document.querySelector('.nav-a.nav-a-2.a-popover-trigger.a-declarative').click();
        }
      });

Открывается внутреннее всплывающее окно.

Как я могу обработать эту новую внутреннюю страницу: набрать текст в поле ввода и нажать на элементы?

Всего 1 ответ


На самом деле это не всплывающее окно, а поповер. Он будет видим и доступен в DOM после того, как вы на самом деле нажмете на селектор

await page.evaluate(() =>{
   document.querySelector('.nav-a.nav-a-2.a-popover-trigger.a-declarative').click();
});

Чтобы быть уверенным, что вы можете работать с поповером, вам нужно подождать загрузки.

await page.waitForSelector(".a-popover.a-popover-modal.a-declarative");

После этого вы можете нажать и ввести нужный текст в всплывающем окне.


Есть идеи?

10000