У меня полно таких ссылок:
<a href="/edit_flat/1674093.html"><b>Edit issue >></b></a>
Пытаясь извлечь содержимое href, я использую выражение Xpath:
//a[contains(@href,'/edit_flat')]
но он возвращает мне ноль. Что я делаю неправильно ?
У меня полно таких ссылок:
<a href="/edit_flat/1674093.html"><b>Edit issue >></b></a>
Пытаясь извлечь содержимое href, я использую выражение Xpath:
//a[contains(@href,'/edit_flat')]
но он возвращает мне ноль. Что я делаю неправильно ?
//a[contains(@href,'/edit_flat')] выбирает a элементов в любом месте дерева документа, которые имеют атрибут href, содержащий строку '/edit_flat'.
Эти совпадающие элементы имеют именно этот атрибут «href», но используемое вами выражение XPath возвращает «только» элементы a, если они есть.
Чтобы фактически вернуть значения атрибутов совпадающих элементов, вам нужен дополнительный шаг с / и @href. Итак, что вы хотите:
//a[contains(@href,'/edit_flat')]/@href
Предложение:
Что вам действительно нужно, так это, вероятно, выбрать ссылки, которые href начинаются с подстроки "/edit_flat", поэтому их безопаснее использовать:
.//a[starts-with(@href,'/edit_flat')]/@href