首页 > 解决方案 > 我将如何提取

这部分的数据?

问题描述

我正在尝试设置一个基于类提取 div 数据的 discord.js 机器人

            <template v-if="activeWindow">
            <div class="trn-card mb0">
                <div class="trn-card__header">
                    <h3 class="trn-card__header-title">Session {{ activeWindowNumber }}</h3>
                    <span class="trn-card__header-subline">{{ activeWindow.matchesPlayed }} Matches</span>
                </div>
                <div class="trn-card__content">
                    <div class="fn-event-team__stats mb8">
                        <div class="fn-event-team__stat">
                            <div class="fn-event-team__stat-name">Rank</div>
                            <div class="fn-event-team__stat-value">#{{ activeWindow.rank }}</div>
                        </div>
                        <div class="fn-event-team__stat">
                            <div class="fn-event-team__stat-name">Points Earned</div>
                            <div class="fn-event-team__stat-value">{{ activeWindow.pointsEarned }}</div>
                        </div>
                        <div class="fn-event-team__stat">
                            <div class="fn-event-team__stat-name">Eliminations</div>
                            <div class="fn-event-team__stat-value">{{ activeWindow.kills }}</div>
                        </div>
                    </div>
                    <div class="fn-event-team__stats fn-event-team__stats--small">
                        <div class="fn-event-team__stat">
                            <div class="fn-event-team__stat-name">K/D</div>
                            <div class="fn-event-team__stat-value">#{{ activeWindow.kdRatio }}</div>
                        </div>
                        <div class="fn-event-team__stat">
                            <div class="fn-event-team__stat-name">Avg. Kills</div>
                            <div class="fn-event-team__stat-value">#{{ activeWindow.avgKills }}</div>
                        </div>
                        <div class="fn-event-team__stat">
                            <div class="fn-event-team__stat-name">Avg. Placement</div>
                            <div class="fn-event-team__stat-value">#{{ activeWindow.avgPlacement }}</div>
                        </div>
                        <div class="fn-event-team__stat">
                            <div class="fn-event-team__stat-name">Avg. Points</div>
                            <div class="fn-event-team__stat-value">#{{ activeWindow.avgPoints }}</div>
                        </div>
                    </div>
                </div>
            </div>

我正在尝试使用“fn-event-team__stat_value”类从 div 中提取值,我将如何去做?

标签: javascriptnode.jscheerio

解决方案


您可以使用document.querySelectorAlland mapwhich 将返回一个数组。innerHTML将给出的内容divtrim用于删除任何空白。

let vals = [...document.querySelectorAll('.fn-event-team__stat-value')].map(item => item.innerHTML.trim());
console.log(vals)
<div class="trn-card__content">
  <div class="fn-event-team__stats mb8">
    <div class="fn-event-team__stat">
      <div class="fn-event-team__stat-name">Rank</div>
      <div class="fn-event-team__stat-value">2</div>
    </div>
    <div class="fn-event-team__stat">
      <div class="fn-event-team__stat-name">Points Earned</div>
      <div class="fn-event-team__stat-value">3</div>
    </div>
    <div class="fn-event-team__stat">
      <div class="fn-event-team__stat-name">Eliminations</div>
      <div class="fn-event-team__stat-value">4</div>
    </div>
  </div>
  <div class="fn-event-team__stats fn-event-team__stats--small">
    <div class="fn-event-team__stat">
      <div class="fn-event-team__stat-name">K/D</div>
      <div class="fn-event-team__stat-value">5</div>
    </div>
    <div class="fn-event-team__stat">
      <div class="fn-event-team__stat-name">Avg. Kills</div>
      <div class="fn-event-team__stat-value">6</div>
    </div>
    <div class="fn-event-team__stat">
      <div class="fn-event-team__stat-name">Avg. Placement</div>
      <div class="fn-event-team__stat-value">7</div>
    </div>
    <div class="fn-event-team__stat">
      <div class="fn-event-team__stat-name">Avg. Points</div>
      <div class="fn-event-team__stat-value">8</div>
    </div>
  </div>
</div>


推荐阅读