Wenn ich die folgende xPath verwenden:xPath wählen Sie findet mehrere Elemente anstelle eines (Geschwister vs. folgenden Geschwister)
//*[contains(@class, 'some-label') and contains(., 'MT:Week')]
Es ist mir genau so, wie ein Element (a <span>
) erwartet wird. So weit, ist es gut.
Was ich will, ist die <select>
direkt daneben zu bekommen, aber durch dies zu tun:
//*[contains(@class, 'some-label') and contains(., 'MT:Week')]/following::select
Er wählt bereits zwei<select>
Elemente. Wie wähle ich nur eine ohne das Namensattribut (!)?
Die HTML:
<div>
<label>
<span class="some-label">MT:Month</span>
<select name="month" id="someID">
<option selected="selected" value="12">March 2015</option>
</select>
</label>
</div>
<div>
<label>
<span class="some-label">MT:Week</span>
<!-- want to select just the below one -->
<select class="width-50px" name="monthWeek" id="someOtherID">
<option selected="selected" value="">All</option>
<option value="CalendarWeek{year=2015, week=9}">9</option>
<option value="CalendarWeek{year=2015, week=10}">10</option>
</select>
</label>
</div>
<div>
<label>
<span class="some-label">MT:Type</span>
<select name="type" id="anotherID">
<option selected="selected" value="">All</option>
<option value="someValue">Value 1</option>
<option value="someValue2">Value 2</option>
</select>
</label>
</div>
Es ist überraschend, dass wir die gleichen zwei Ausdruck mit einem Unterschied von geschrieben haben 5 Sekunden :) – splash58
@BeniBela. Danke, es wokrs. Jetzt gelernt den Unterschied zwischen Geschwister vs. Folgebild Geschwister. Gute Quellen mit Beispielen finden Sie hier - http://www.zvon.org/xxl/XPathTutorial/Output/example15.html und http://www.zvon.org/xxl/XPathTutorial/Output/example17.html – Andrejs
@ splash58 Es scheint fast immer zu passieren – BeniBela