У меня есть следующий HTML-код моей страницы.
<div class="views-field-wbapi-data-value-2014 wbapi-data-value wbapi-data-value-first">
<span class="field-content">
<span>
<a href="http://data.worldbank.org/indicator/SP.POP.TOTL/countries/SC?display=graph">
<span class="human-readable"></span>
</a>
И
<div class="views-field-wbapi-data-value-2014 wbapi-data-value wbapi-data-value-first">
<span class="field-content">
<span>
<a href="http://data.worldbank.org/indicator/NY.GDP.MKTP.CD/countries/SC?display=graph">
<span class="human-readable">91,400</span>
</a>
Я придумал следующий xpath, чтобы найти <span class="human-readable"></span>
первого блока кода HTML.
//div[@class='views-field-wbapi-data-value-2014 wbapi-data-value wbapi-data-value-first']/span/span/a/span
Но когда я запускаю указанный выше xpath, он дает мне 2 совпадающих узла, что мне ясно из кода HTML. Есть небольшая разница в параметре href тега 'a'. Первый блок кода содержит «SP.POP.TOTL», а второй блок содержит «NY.GDP.MKTP.CD».
Есть ли способ получить доступ к частичному тексту параметра href тега 'a' и использовать его в моем xpath, чтобы различать 2 блока?
Примечание. Я не могу использовать следующий xpath: //a[@href='http://data.worldbank.org/indicator/SP.POP.TOTL/countries/SC?display=graph']/span
, потому что я запускаю цикл for в 40 разных странах и каждый раз, когда текст после '/ countries /', «SC», изменяется. Поэтому мне приходится использовать частичный текст, независимо от префикса страны.