Я хочу использовать селектор CSS, чтобы выбрать все после элемента со значением SOUND WORD, но перед элементом со значением, называемым COMPONENTS, с помощью селектора CSS в Python.
<p class="p_cat_heading">SOUND WORD</p>
<p class="p_normal__and__avoid_page_break_after"><span class="c_tone_char">Vene</span><span class="c_tone_char__and__underline">zue</span><span class="c_tone_char">la</span> /<span class="calibre22">venedswela</span>/</p>
<p class="p_normal__and__avoid_page_break_after">South American country over the equator, known in part for its sunny beaches. Pronounce it in Italian for a better sound match.</p>
<p class="p_normal__and__avoid_page_break_after"><img width="30%" alt="" src="../images/00461.jpeg" class="calibre18"/></p>
<p class="p_cat_heading__and__centre_alignment">COMPONENTS</p>
Я использую следующееСелектор CSS:
content = str(soup.select_one('.p_cat_heading:contains("SOUND WORD") + :not(.p_cat_heading)')) # type: str
Это должно выбрать все, вплоть до элемента с классом p_cat_heading.Однако он только выбирает:
<p class="p_normal__and__avoid_page_break_after"><span class="c_tone_char">Vene</span><span class="c_tone_char__and__underline">zue</span><span class="c_tone_char">la</span> /<span class="calibre22">venedswela</span>/</p>
Я должен неправильно понять, как работает селектор CSS.Я думал, что :
работает как срез Python, но, похоже, дело не в этом.Тем не менее, я не уверен, что мне не хватает.