Я пытаюсь извлечь год из html ниже (https://www.espncricinfo.com/series/indian-premier-league-2022-1298423/punjab-kings-vs-delhi-capitals-64th-match-1304110/full-scorecard). Из-за того, как сайт закодирован, я должен сначала определить ячейку таблицы, содержащую слово «Сезон», а затем получить год (2022 в этом примере).
Я думал, что это получит его, но это не так. Ошибок нет, результатов нет. Раньше я не использовал подход following-sibling
, поэтому был бы признателен, если бы кто-нибудь указал, где я ошибся.
l.add_xpath(
'Season',
"//td[contains(text(),'Season')]/following-sibling::td[1]/a/text()")
HTML:
<tr class="ds-border-b ds-border-line">
<td class="ds-min-w-max ds-border-r ds-border-line">
<span class="ds-text-tight-s ds-font-medium">Season</span>
</td>
<td class="ds-min-w-max">
<span class="ds-inline-flex ds-items-center ds-leading-none">
<a href="https://www.espncricinfo.com/ci/engine/series/index.html?season2022" class="ds-text-ui-typo ds-underline ds-underline-offset-4 ds-decoration-ui-stroke hover:ds-text-ui-typo-primary hover:ds-decoration-ui-stroke-primary ds-block">
<span class="ds-text-tight-s ds-font-medium">2022</span>
</a>
</span>
</td>
</tr>
Пытаться:
//span[contains(text(),"Season")]/../following-sibling::td/span/a/span/text()
@ Энди, я обновил и проверил ваш URL-адрес, который выберет текстовое значение: только 2022
Спасибо @F.Hoque, однако есть много разного контента с похожим путем. Вот почему я попытался использовать contains