я пытаюсь извлечь элемент цены с веб-сайта с помощью метода page.evaluate, но он всегда возвращает {}, когда я console.info результат. вот код:
const browser = await pptr.launch()
const page = await browser.newPage()
await page.goto("url")
const price = await page.evaluate(() => {
return document.querySelector("selector")
})
console.info(price) // returns {}
Я тоже пытался использовать page.$(selector), он возвращает массив, содержащий ElementHandle и кучу других вещей, которые я не совсем понимаю, что они собой представляют.
Спасибо!
да, когда селектор недействителен, он возвращает ошибку, но это не так
Пожалуйста, выполните поиск на сайте, прежде чем спрашивать: Puppeteer page.evaluate querySelectorAll возвращает пустые объекты, Кукловод возвращает пустой объект, Puppeteer page.evaluate возвращает пустой объект. Спасибо!



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


Вы пытаетесь передать дескриптор элемента из браузера в ваше приложение puppeteer. Для передачи данных из браузера puppeteer использует JSON.stringify и дескриптор элемента преобразуется в пустой объект.
Вы можете попытаться передать что-то еще обратно в свое приложение, например, текстовое содержимое элемента.
const browser = await pptr.launch()
const page = await browser.newPage()
await page.goto("url")
const price = await page.evaluate(() => {
return document.querySelector("selector").textContent
})
console.info(price)
Вы уверены, что курфюрст действителен и что-то возвращает?