Я определил селекторы css в скрипте, чтобы получить текст в span
элементах , и я получаю их соответственно.Однако способ, которым я пытался, определенно грязный.Я просто разделил различные css-селекторы, используя запятую, чтобы скрипт понял, что я за тем или иным.
Если бы я выбрал xpath, я мог бы использовать 'div//span[.="Featured" or .="Sponsored"]'
, но в случае css-селектора я ничего не мог найтипохожи, чтобы служить той же цели.Я знаю, используя 'span:contains("Featured"),span:contains("Sponsored")'
Я могу получить текст, но между ними, как обычно, есть запятая.
Какой идеальный способ найти элементы (в разных идентификаторах) с помощью селекторов CSSкроме запятой?
Моя попытка до сих пор с:
from lxml.html import fromstring
html = """
<div class="rest-list-information">
<a class="restaurant-header" href="/madison-wi/restaurants/pizza-hut">
Pizza Hut
</a>
<div id="featured other-dynamic-ids">
<span>Sponsored</span>
</div>
</div>
<div class="rest-list-information">
<a class="restaurant-header" href="/madison-wi/restaurants/salads-up">
Salads UP
</a>
<div id="other-dynamic-ids border">
<span>Featured</span>
</div>
</div>
"""
root = fromstring(html)
for item in root.cssselect("[id~='featured'] span,[id~='border'] span"):
print(item.text)