Wie schreibe ich eine XPath-Abfrage, um zwei Attribute abzugleichen?

143

Folgende Frage:

<div id="id-74385" class="guest clearfix" style="z-index: 999;">

Wie oben angegeben,

Wenn ich einen XPath-Ausdruck mit Überprüfungen sowohl der ID als auch der Klasse möchte, können wir dies mit der Bedingung 'und' tun, wie:

//div[@id='id-74385'] and div[@class='guest clearfix']

Ist das richtig? Meine Hinrichtung schlägt hier fehl ... Bitte helfen Sie!

Shola
quelle

Antworten:

209
//div[@id='..' and @class='...]

sollte den Trick machen. Hiermit werden die divOperatoren ausgewählt, die beide Attribute des erforderlichen Werts haben.

Es lohnt sich, eine der Online-XPath-Testumgebungen zu verwenden, um Dinge auszuprobieren.

Brian Agnew
quelle
99

oder //div[@id='id-74385'][@class='guest clearfix']

zhangyangyu
quelle
22

Hinzufügen zu Brian Agnews Antwort.

Sie können auch //div[@id='..' or @class='...]Ausdrücke in Klammern verwenden //div[@id='..' and (@class='a' or @class='b')].

CodeMonkey
quelle