Für xpath auf c #, wie kann ich einen Knoten nach Klasse auswählen, wo der Knoten nur diese 1 Klasse hat?
Zum Beispiel, wenn ich das hatte:
<span class="red blue"></span>
<span class="red"></span>
Der xpath-Ausdruck "red" gibt nur den zweiten Knoten zurück.
Vielen Dank.
Wenn Sie alle span
Elemente auswählen möchten, die eine @class enthalten, die red
enthält, und Sie sicher sind, dass die Zeichenfolge red
anderer Stelle in der @class
nicht @class
verwenden Sie diese in XPATH 1.0:
//span[contains(@class,'red')]
Wenn Rot in einer anderen Klasse (wie etwa in der centered
) auftreten kann, müssen Sie komplexer werden
//span[contains(concat(' ', normalize-space(@class), ' '), ' red ')]
Wenn Sie XPATH 2.0 verwenden können, können Sie beide Fälle wie folgt berücksichtigen:
//span[tokenize(@class,'\s+')[. eq 'red']]