Как нажать на кнопку с идентификатором элемента данных в Puppeteer?

#javascript #puppeteer

#javascript #puppeteer

Вопрос:

Как нажать на кнопку с идентификатором элемента данных в Puppeteer?

На веб-сайте есть это:

 <button class="M-r MB-r j3 Mn-cy" tabindex="0" type="button" data-elementid="searchButton">
  

Я пытаюсь нажать на кнопку:

 const selector = '#searchButton';
await page.waitForSelector(selector);
await page.click(selector);
  

Я попытался подождать 10 секунд, чтобы убедиться, что страница полностью загружена.

Получение ошибки:

 TimeoutError: waiting for selector `#searchButton`
  

Есть мысли?

Комментарии:

1. # для идентификатора, отличается data-elementid от атрибута id. Попробуйте использовать селектор '[data-elementid="searchButton"]'

Ответ №1:

Проблема, похоже, в селекторе.

Это:

 const selector = '#searchButton';
  

преобразуется в это в html:

 id="searchButton"
  

но вы ищете data-elementid="searchButton" атрибут.

Попробуйте это вместо:

 const selector = '[data-elementid="searchButton"]';