Как получить среднее значение с веб-сайта (веб-очистка)

#javascript #node.js #discord.js #cheerio

#javascript #node.js #discord.js #приветствую

Вопрос:

Есть три класса, называемые калибровочными значениями, я хочу получить второй, но он ничего не выводит. Я выполняю веб-очистку на этом сайтеhttps://stockx.com/supreme-hot-wheels-fleet-flyer-1992-bmw-m3-red вот область, из которой я пытаюсь извлечь среднее значение http://prntscr.com/nfk6x8 Я думал, что let porText = porHeading.first().next().text(); будет работать, но это не сработало.

Я уже пытался получить первое и последнее (оба работают) пусть porText = porHeading.first().text(); пусть porText = porHeading.last().text();

         ///Check the site like to find gauge-value
        const porHeading = $(".gauge-value");
        let porText = porHeading.first().next().text();

        ///Trying to log number
        console.log(porText);

        ///Removing percent
        porText = porText.replace("%","");

        ///Final Value
        console.log('-----');
        console.log(porText);
        console.log('-----');
  

Я хочу получить число без процента текста среднего значения (должно быть около 213,3%), когда я запускаю программу, оно пустое, но когда я делаю .first() или .last (), оно работает нормально.
-Спасибо за помощь, Нейт

Ответ №1:

Вы можете использовать этот селектор:

 document.querySelector("div.gauges > div:nth-child(2) > div.gauge-value").textContent; //213.3%
  

Ответ №2:

Вы также можете выполнить функцию jQuery .eq().

 let porText = porHeading.eq(1).text();
  

HTH!

Комментарии:

1. Спасибо, это отлично сработало, я немного смущен тем, что делает .eq (), я посмотрел, не могли бы вы вкратце объяснить это мне? Спасибо!

2. Представьте все элементы $(«.gauge-value») в виде массива с индексом 0. Когда вы выполняете .eq(1), это в основном так же хорошо, как произносить objElements[1], поэтому требуется 2-й элемент, соответствующий селектору.

3. Извините за поздний ответ, но спасибо, это очень поможет в будущем 🙂