Ich habe folgende HTML:Text aus HTML extrahieren (nach bestimmten Zeichenfolge)
<li class="group-ib medium-gap line-120 vertical-offset-10">
<i class="fa fa-angle-right font-bold font-95 text-primary text-dark">
::before
</i>
<span>
abc:
<b class="text-primary text-dark">st1</b>
</span>
</li>
Und ich will str1
extrahieren, die immer nach abc
passiert. Ich war in der Lage, es zu tun mit Hilfe des XPATH
Link:
xpath('.//b[@class = "text-primary text-dark"]')[0].text
Aber die Lösung davon abhinge das erste Auftreten dieser besonderen Klasse zu sein, die mehr als einmal erscheint und ist nicht immer in der gleichen Reihenfolge. Ich fragte mich, ob es eine Möglichkeit gab, die HTML
für abc
zu suchen und den nachfolgenden Text zu ziehen?
Ich frage mich, wie hast du 'str1' mit dem XPath in deiner Frage bekommen? Alles, was Sie bekommen, ist das Element "i", wobei "str1" im Element "span" steht. – SomeDude
Sloppy Copy Paste, bearbeitet. –
Die Verwendung von [0] in Ihrem xpath würde nur dann einen Unterschied machen, wenn sich die Elemente in einer Liste befinden. Da sie auf verschiedenen Ebenen liegen, ist dies egal. Für verschiedene Ebenen müssen Sie Selektor verwenden, um ein eindeutiges Elternelement zu identifizieren und von dort fortzufahren. – lauda