简体   繁体   English

使用 javascript textContent 获取文本

[英]Get text with javascript textContent

I try to get text from a site, using javascript and textContent我尝试使用 javascript 和 textContent 从站点获取文本

i use this code我用这个代码

var markets=document.getElementsByClassName('sip-MarketGroup ')
for (var i=0;i<markets.length;i++){
    try {
       console.log(markets[i].textContent);
    } catch (error) {
       console.error(error);
    }
}

           

a part of html into the site is this below html 的一部分进入网站如下

<div class="sip-MarketGroup">
    <div class="sip-MarketGroupButton sip-MarketGroup_Open ">
        <div class="sip-MarketGroupButton_Text " style="">Fulltime Result</div>
        <div class="sip-MarketGroupButton_FavouriteButton sip-FavouriteButton ">
            <div class="sip-FavouriteButton_SVG "> </div>
        </div>
    </div>
    <div class="gl-MarketGroup_Wrapper ">
        <div class="gl-MarketGroupContainer ">
            <div class="gl-Market gl-Market_General gl-Market_General-topborder gl-Market_General-pwidth100 ">
                <div class="gl-Participant gl-Participant_General gl-Market_General-cn3 ">
                    <span class="gl-Participant_Name">QPR</span>
                    <span class="gl-Participant_Odds">12.00</span>
                </div>
                <div class="gl-Participant gl-Participant_General gl-Market_General-cn3 ">
                    <span class="gl-Participant_Name">Draw</span>
                    <span class="gl-Participant_Odds">4.00</span>
                </div>
                <div class="gl-Participant gl-Participant_General gl-Market_General-cn3 ">
                    <span class="gl-Participant_Name">Bournemouth</span>
                    <span class="gl-Participant_Odds">1.36</span>
                </div>
            </div>
        </div>
    </div>
</div>

and i get我明白了

Fulltime ResultQPR12.00Draw4.00Bournemouth1.36全场成绩QPR12.00平局4.00伯恩茅斯1.36

without spaces, how can i get this text but seperated with ";"没有空格,我怎样才能得到这个文本,但用“;”分隔like this像这样

Fulltime Result;QPR 12.00;Draw 4.00;Bournemouth 1.36;全场成绩;QPR 12.00;平局 4.00;伯恩茅斯 1.36;

You are going to have to select all the elements you want text from.你将不得不 select 所有你想要文本的元素。 Multiple ways to do it, the easiest is just to select the elements you want and loop over them.有多种方法可以做到这一点,最简单的就是 select 你想要的元素并循环它们。

 var groups = document.querySelectorAll(".sip-MarketGroup"); const groupText = Array.from(groups).map(function (group) { const elems = group.querySelectorAll('.sip-MarketGroupButton_Text,.gl-Participant_Name, .gl-Participant_Odds'); const text = Array.from(elems).map(function (elem) { return elem.textContent; }).join(";"); return text; }); console.log(groupText);
 <div class="sip-MarketGroup"> <div class="sip-MarketGroupButton sip-MarketGroup_Open "> <div class="sip-MarketGroupButton_Text " style="">Fulltime Result</div> <div class="sip-MarketGroupButton_FavouriteButton sip-FavouriteButton "> <div class="sip-FavouriteButton_SVG "> </div> </div> </div> <div class="gl-MarketGroup_Wrapper "> <div class="gl-MarketGroupContainer "> <div class="gl-Market gl-Market_General gl-Market_General-topborder gl-Market_General-pwidth100 "> <div class="gl-Participant gl-Participant_General gl-Market_General-cn3 "> <span class="gl-Participant_Name">QPR</span> <span class="gl-Participant_Odds">12.00</span> </div> <div class="gl-Participant gl-Participant_General gl-Market_General-cn3 "> <span class="gl-Participant_Name">Draw</span> <span class="gl-Participant_Odds">4.00</span> </div> <div class="gl-Participant gl-Participant_General gl-Market_General-cn3 "> <span class="gl-Participant_Name">Bournemouth</span> <span class="gl-Participant_Odds">1.36</span> </div> </div> </div> </div> </div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM