Css选择器在标签外获取文本

问题描述 投票:-1回答:1

我有以下HTML

<label id="w-57265">
<div class="radio same-option-inline" id="inline-condition-108103" style="border-color: rgb(204, 204, 204); border-width: 1px; border-style: solid;">
    <span class="">
        <input type="radio" name="option[57265]" value="108103">
        26EU <span class="specialPricevar" data-price="44.10 AED"></span>
        <span class="realPricevar" data-price="77.70 AED"></span>
        <small style="display: none;">Foot Size 16.5cm</small>
    </span>
    <span id="tickmark" class=""></span>
</div>

我想使用lxml通过css选择器获取“ 26EU”

我已经尝试过了]

doc.cssselect('label .same-option-inline')

但是它返回了标签中的所有文本

26EU

脚尺寸16.2厘米

单独获得“ 26EU”

“脚尺寸16.2cm”的正确方法是什么? (无空格)

我有以下HTML:

]

css css-selectors lxml lxml.html
1个回答
0
投票

您可以尝试更具体地选择尺码doc.cssselect('label .same-option-inline small')将返回“英尺尺寸16.5厘米”

但是,您不能直接获得26EU,因为它本身没有封装在任何标签中(它包装在<span class="">中,但是脚号也是如此。这就是为什么要将这两个实体放在一起的原因。]

您可以尝试用<p>25EU</p>代替25EU,然后使用doc.cssselect('label .same-option-inline p')

© www.soinside.com 2019 - 2024. All rights reserved.