Css селектор для получения текста вне тега - PullRequest
0 голосов
/ 21 января 2020

У меня есть следующее 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>

Я хочу получить "26EU" через css селектор используя l xml

я уже пробовал это

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

, но он вернул весь текст в теге

26EU

Размер стопы 16,2 см

Какой правильный метод получения "26EU" и "Размер стопы 16,2 см" каждый один ? (без пробелов)

1 Ответ

0 голосов
/ 21 января 2020

Вы можете попытаться быть более точным c для Foot Size doc.cssselect('label .same-option-inline small') вернет "Foot Size 16.5cm"

Однако вы не можете напрямую получить 26EU, поскольку он не инкапсулирован ни в одном теге самостоятельно ( Он обернут в <span class="">, но так же, как и в Foot Size. Вот почему вы собираете обе эти сущности вместе.)

Вы можете попробовать заменить 25EU на <p>25EU</p>, а затем использовать doc.cssselect('label .same-option-inline p')

Это вернет только 25EU.

...