Выражения XPath вместо селекторов CSS в Puppeteer?

Например, document.querySelectorAll работает с селекторами CSS, но как вместо этого использовать выражения XPath?


person microwth    schedule 21.11.2017    source источник
comment
есть открытая проблема, связана ли она с вашим требованием? github.com/GoogleChrome/puppeteer/issues/537   -  person Anil    schedule 21.11.2017
comment
да, точно! спасибо!   -  person microwth    schedule 21.11.2017


Ответы (2)


Они только что выпустили эту функцию :)

page.xpath(выражение)

выражение <string> Выражение для оценки

возвращает:<Promise<?ElementHandle>> Обещание, которое разрешается в ElementHandle, указывающее на элемент страницы.

проверьте это здесь

person Horacio Alexandre Fernandes    schedule 04.01.2018
comment
Эта функция представляет собой движущуюся цель! Он только что был переименован с xpath на $x. - person jpaugh; 05.01.2018
comment
@toing_toing такое бывает. Но вы можете решить это, как описано в stackoverflow.com/a/48474929/5131858 const featureArticle = (await page.$x (//a[text()='abc.com']))[0]; const text = await page.evaluate(el => {return el.textContent;}, featureArticle); - person Mehmet Kurtipek; 14.02.2019

Это существующая проблема, открытая в репозитории git puppeteer.

Отслеживайте ход выполнения здесь: https://github.com/GoogleChrome/puppeteer/issues/537

person microwth    schedule 21.11.2017