Я пишу приложение nodejs с кукловодом, и у меня возникают проблемы с типом возврата его page.$eval
. Рассмотрим следующий кодовый блок:
import puppeteer, { Page } from "puppeteer";
const getValueBySelector = (page: Page, selector: string) => {
return page.$eval(selector, (el) => el.innerText);
};
interface Prices {
low: string;
}
(async () => {
const browser = await puppeteer.launch();
const page: Page = await browser.newPage();
await page.goto(URL);
let prices: Prices = {
low: await getValueBySelector(page, "#low"),
};
})();
В соответствии с автоматизированным c выводом типа для getValueBySelector
тип возврата для этой функции Promise<puppeteer.ElementHandle<any>>
, но мне нужно, чтобы значение prices.low
было string
.
Итак, в prices.low
есть ошибка типа, которая гласит:
Type 'ElementHandle<any>' is not assignable to type 'string'.ts(2322)
Как мне использовать здесь утверждение типа для решения проблемы?