Как я могу сделать скриншот таблицы с помощью Puppeteer? - PullRequest
2 голосов
/ 05 марта 2020

Я пытаюсь использовать Кукольник , чтобы сделать скриншот товаров и цен на акции, веб-сайт этот . Класс, на котором я хочу сделать скриншот, - .trigo, но я хочу удалить .abas раньше. Единственный способ, которым я мог заставить его работать, это сделать так:

await page.goto('https://www.canalrural.com.br/cotacao/soja/', {waitUntil: 'networkidle2'});
await page.setViewport({width: 800, height: 1640});
await page.$eval('div.trigo > div > div:nth-child(3) > h3', (el) => el.scrollIntoView());
await page.screenshot({
    path: folder + '02 - soja.jpg',
    type: 'jpeg',
    quality: 70
});

Но даже высота окна просмотра меняется каждый раз, когда я проверяю его (потому что они вводят новую информацию в таблицы) ... Что наилучший способ получить содержимое класса .trigo, удалить класс .abas и сделать снимок экрана? Спасибо, ребята.

1 Ответ

1 голос
/ 05 марта 2020

Вы можете удалить элемент, используя выражение evaluate.

await page.evaluate(() => document.getElementById("abas").remove());

И затем вы можете получить элемент .trigo и вызвать screenshot для этого элемента.

var el = await page.$('.trigo');
await el.screenshot({
    path: folder + '02 - soja.jpg',
    type: 'jpeg',
    quality: 70
});

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...