Ich versuche, den XPath zu finden, der ein Kontrollkästchen mit einem EXACT-Label auswählen würde. Allerdings kann ich nicht verwenden, da es mehrere Optionen für die Beschriftung gibt, die ich finden möchte. HierAuswahl durch XPath-Element mit EXAKTem Text in Label
ist die html:
<li>
<label class="checkbox">
<input id="role_id_9" name="user[role_ids][]" type="checkbox" value="9"/> Pharmacist with Prescriptive Authority
</label>
</li>
<li>
<label class="checkbox">
<input id="role_id_10" name="user[role_ids][]" type="checkbox" value="10"/> Pharmacist
</label>
</li>
<li>
<label class="checkbox">
<input id="role_id_83" name="user[role_ids][]" type="checkbox" value="83"/> Out of State Pharmacist
</label>
</li>
Ich versuche, das Kontrollkästchen mit der Bezeichnung ‚Apotheker‘ zu finden. Diese XPath funktionieren würde normalerweise
//label[contains(., 'Pharmacist')]/input[1]
, außer dass ‚Apotheker mit Prescriptive Behörde‘ VOR Apotheker aufgelistet, so, weil es das Wort ‚Apotheker‘ enthält es stattdessen ausgewählt. Ich kann keine IDs verwenden, da meine Tests in mehreren Umgebungen verwendet werden und sich die IDs ändern. Es ist auch wichtig zu beachten, dass die Reihenfolge, in der diese Anzeige angezeigt wird, auch je nach Umgebung variieren kann.
Meine Situation war nur ein wenig anders als das verknüpfte Beispiel, da sich mein Eingabeelement innerhalb des Label-Elements befand.
Mögliche Duplikat von [Wie XPath verwenden enthält() für einen bestimmten Text?] (Https://stackoverflow.com/ Fragen/39650007/how-to-use-xpath-enthält-für-spezifischen-text) – kjhughes