Backstopjs Puppeteer page.Вы выбираете неправильный элемент - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть скрипт onReady, который работает как положено (выбирает первый элемент):

module.exports = async (page, scenario, vp) => {
    console.log('SCENARIO > ' + scenario.label);
    await require('./../clickAndHoverHelper')(page, scenario);

    //custom code here
    await page.hover('.column-box.has-link .column-box-wrapper');

    //wait for css transitions
    await page.waitFor(1000);
};

Однако, если я хочу вместо этого выбрать последний элемент, он парит на пятом элементе вместо 14-го (последнего):

module.exports = async (page, scenario, vp) => {
    await require('./../clickAndHoverHelper')(page, scenario);

    // custom code here

    await page.evaluate('window.scrollTo(0, document.body.scrollHeight)'); //scroll to end

    const boxid = await page.$$eval('.column-box.has-link', boxes => {
        return boxes.pop().id;
    });

    const lastColumnBoxSelector = '#' + boxid + ' .column-box-wrapper';
    console.log("selector: " + lastColumnBoxSelector);
    const promiseResult = await page.hover(lastColumnBoxSelector);
    console.log(JSON.stringify(promiseResult));

    //wait for css transitions
    await page.waitFor(15000);
};

журнал показывает мне правильный / желаемый результат для селекторной переменной, а функция наведения не выдает никаких ошибок. Однако обещанный результат возвращается неопределенным. Есть ли проблема при смешивании идентификаторов и классов?

Кроме того, когда я устанавливаю для debugWindow значение true, окно chrome не прокручивается до элемента.

Редактировать: Ответ, мой viewport.height в config.js был слишком мал.

...