Я использую Puppeteer 22.6.0 с NodeJS для очистки веб-страниц, я пытаюсь приостановить выполнение сценария до тех пор, пока не станет виден определенный элемент h1, проблема в том, что на странице несколько элементов h1, и это единственный возможный способ идентифицировать этот определенный элемент. h1 — это проверка наличия определенного сообщения, например: <h1>something</h1>
Поскольку я не могу сделать это с помощью селектора (насколько мне известно), я попробовал использовать page.waitForXPath(), но получаю ошибку:
TypeError: page.waitForXPath is not a function
Я искал решение, но, похоже, метод был удален. Есть ли обходной путь? Спасибо.
Используйте waitForSelector page.waitForSelector("::-p-xpath(//h1[text()='something'])"), но, как упоминается в связанном сообщении, вам вероятно, вообще не нужен XPath: page.waitForSelector("h1::-p-text('something')") намного чище.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете использовать:
const element = await page.waitForSelector('text/something');
Чтобы сузить круг вопросов, сначала вы можете сделать
let h1els = await page.$$('h1') — Чтобы запросить все элементы H1, а затем выполнить
await h1els.waitForSelector('text/something')
Подробности можно узнать в официальной документации => https://pptr.dev/guides/query-selectors-legacy/#example-2
Отвечает ли это на ваш вопрос? Как я могу получить элемент по XPath?