2017-10-22 9 views
2

EXACTラベルのチェックボックスを選択するXPathを検索しようとしています。しかし、私は見つけようとしているラベルにはいくつかのオプションがあるので、を使用することはできません。ここでラベルで正確なテキストのXPath要素で選択

は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> 

私はラベル「薬剤師」とチェックボックスを見つけようとしています。それは言葉「薬剤師」を含んでいるため、それが代わりに選択されているように、このXPathは、通常、薬剤師前にリストされている「規範的権威を持つ薬剤師以外

 //label[contains(., 'Pharmacist')]/input[1]

を働くだろう。テストは複数の環境で使用され、IDが変更されるためIDを使用できません。また、これらの表示が環境によって異なる場合があることに注意することも重要です。

私の状況は、input要素がlabel要素の中にあったため、リンクされた例と少し違っていました。

+0

可能な重複[XPathを使用する方法は、特定のテキストを()が含まれてい?](https://stackoverflow.com/質問/ 39650007/how-to-use-xpath-contains-for-specific-text) – kjhughes

答えて

0

このXPathの、

//label[normalize-space()='Pharmacist']/input 

は、その文字列の正規化文字列値があるlabel要素に含まれているものinput要素を選択します。

も参照してください:

+0

ありがとうございました!これはうまくいった。私はあなたを+1しようとしましたが、私の担当者は低すぎます。うまくいけば、他の誰かが一緒になり+1をするでしょう。ありがとうございました!! – QADeveloper

+0

ようこそ。それが助けられたら、この回答を[**承認**](http://meta.stackoverflow.com/q/5234/234215)してください。 (これは担当者がいません)ありがとうございます。 – kjhughes

関連する問題