2016-08-09 3 views
2

Ich versuche, alle href Links über XPath aus der folgenden Seite zu erhalten:XPath - Get href Attribut

href page

versuchte ich folgendes:

//div[@class='article-tile__images']/a[@class='article-tile__link js-article-tile__link acte-article-catalogName-lnk'] 

Irgendwelche Vorschläge, was ich tue falsch?

Ich schätze Ihre Antworten!

+0

'xmllint --html' wirft eine enorme Anzahl von Fehlern über die Seite: XPath wird dadurch zweifelhaft. – bishop

Antwort

3

mit class Attributen zu arbeiten, ist viel einfacher, gut lesbare und präzise in CSS-Selektoren:

a.article-tile__link 

die 65 Links übereinstimmt, wenn ich $$('a.article-tile__link') in der Chrome-Konsole ausgeben.

+0

Danke für Ihre schnelle Antwort! Wie würde das oben in XPath aussehen? – mrquad

+1

@mrquad gut, das einfachste wäre '// a [contains (@class," article-tile__link ")]'. Aber wenn Sie hier bei xpath bleiben, verwenden Sie besser 'concat()', um mehrere Klassen zuverlässiger zu behandeln und Überraschungen zu vermeiden, siehe http://stackoverflow.com/a/5662452/771848. Vielen Dank. – alecxe