Получение undefined от функции оценки кукольника - PullRequest
0 голосов
/ 29 мая 2020

Когда я запускаю это ->

let uiElement = await page.evaluate(() => document.querySelector('div[class=unf-emptystate-img]').innerHTML)
    console.log(uiElement)

Я получаю правильное значение

<img alt="Waduh, tujuanmu nggak ada!" src="https://ecs7.tokopedia.net/assets-unify/img/il-error-not-found.png">

Но когда я пытаюсь использовать

    let uiElement = await page.evaluate(() => document.querySelector('div[class=unf-emptystate-img]'))
console.log(uiElement.innerHTML)

, я получаю

TypeError: Cannot read property 'innerHTML' of undefined

Как получить uiElement.innerHTML без вызова функции innerHTML внутри функции оценки?

1 Ответ

2 голосов
/ 29 мая 2020

, если вы используете page.$(), вы можете получить доступ к innerHTML, см. Этот пример:

const date = await page.$('div[class=unf-emptystate-img]');

console.log(await (await date.getProperty('innerHTML')).jsonValue());

или просмотрите этот полный пример:

const puppeteer = require('puppeteer');
(async () => {
    const browser = await puppeteer.launch({
        headless: false,
        slowMo: 250 // slow down by 250ms
    });
    const page = await browser.newPage();

    await page.goto('https://v4-alpha.getbootstrap.com/components/forms/');

    const date = await page.$('.lead');

    console.log(await (await date.getProperty('innerHTML')).jsonValue());

})();
...