Ответ 1
Для следующего документа HTML:
<html>
<body>
<a href="#" onclick="location.href='http://www.example.com'; return false;">Example</a>
<a href="#" onclick="location.href='http://www.stackoverflow.com'; return false;">SO</a>
</body>
</html>
Запрос xpath /html/body//a/@href
(или просто //a/@href
) вернет:
http://www.example.com http://www.stackoverflow.com
Чтобы выбрать конкретный экземпляр, используйте /html/body//a[N]/@href
,
$ /html/body//a[2]/@href http://www.stackoverflow.com
Чтобы проверить строки, содержащиеся в атрибуте, и вернуть сам атрибут, поместите проверку тега не по атрибуту:
$ /html/body//a[contains(@href,'example')]/@href http://www.example.com
Смешивание двух:
$ /html/body//a[contains(@href,'com')][2]/@href http://www.stackoverflow.com