@DannYLook
Программист

Как при парсинге на node js смотреть цвет шрифта?

У меня есть код для прасинга на node js с библиотеками puppeteer-extra и puppeteer-extra-plugin-stealth. Ищу нужный элемент по XPath, часть код:

const symbol = "₽"; 
const xpathExpression = `(//span[contains(text(), '${symbol}')])[1]`;

Как сделать, чтобы брался элемент с оправленным цветом шрифта? Например, на сайте есть разные слова и нужно, чтобы спарился текст, у которого стиль и тег span. Стиль:

color: #fff;
  • Вопрос задан
  • 66 просмотров
Пригласить эксперта
Ответы на вопрос 1
Mike_Ro
@Mike_Ro
Python, JS, WordPress, SEO, Bots, Adversting
1. Перейти на страницу.
2. Получить все элементы по селектору.
3. В цикле обойти каждый элемент, выполняя код на странице, который получит и вернет цвет элемента, затем проверить на белый.
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('//some.com')

const symbol = "₽";
const xpathExpression = `(//span[contains(text(), '${symbol}')])`;
const els = await page.$x(xpathExpression);

for (const el of els) {
  const c = await page.evaluate(_el => {
    const s = window.getComputedStyle(_el);
    return s.color;
  }, el);

  if (c === 'rgb(255, 255, 255)') console.log('White is detected!')
}

await browser.close();
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы