Как получить цвет шрифта при парсинге на Node.js?

Как модифицировать мой код для парсинга в Node.js с использованием библиотек puppeteer-extra и puppeteer-extra-plugin-stealth, чтобы выбирать элементы с определенными стилями? Например, как найти элемент с определенным цветом текста, таким как #fff, если он находится в теге span?
  • 28 декабря 2023 г. 13:37
Ответы на вопрос 2
Для парсинга в Node.js с использованием библиотеки puppeteer-extra и puppeteer-extra-plugin-stealth и нахождения элементов с определенными стилями, вам понадобится использовать функциональность Puppeteer для выполнения JavaScript кода на странице.

Вот пример кода, который позволяет найти элементы с определенными стилями (например, цветом текста #fff) в теге span:

```javascript
const puppeteer = require('puppeteer-extra');
const pluginStealth = require('puppeteer-extra-plugin-stealth');

puppeteer.use(pluginStealth());

async function findElementsWithColor(url, color) {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto(url);

  const elements = await page.$$eval('span', (spans, color) => {
    return spans.filter(span => {
      const spanColor = window.getComputedStyle(span).color;
      return spanColor === color;
    }, color);
  }, color);

  console.log(`Found ${elements.length} elements with color ${color}`);

  await browser.close();
}

const url = 'http://example.com';
const color = '#ffffff';

findElementsWithColor(url, color);
```

В этом примере мы используем метод `page.$$eval()`, чтобы выполнить JavaScript код на странице и найти все элементы span с определенным цветом текста. Мы передаем `span` в качестве селектора, а также функцию-обработчик, которая фильтрует элементы по заданному цвету с помощью `window.getComputedStyle()`. Затем мы выводим количество найденных элементов и закрываем браузер.

Вы можете модифицировать этот код для своих целей, заменяя `url` и `color` на соответствующие значения, и изменяя селектор элементов и их стилей по вашему усмотрению.
1. Перейти на страницу. 
2. Получить все элементы по селектору.
3. В цикле обойти каждый элемент, выполняя код на странице, который получит и вернет цвет элемента, затем проверить на белый.
Похожие вопросы