この HTML を考えると:
<li class="check_boxes input optional" id="activity_roles_input">
<fieldset class="choices">
<legend class="label"><label>Roles</label></legend>
<input id="activity_roles_none" name="activity[role_ids][]" type="hidden" value="" />
<ol class="choices-group">
<li class="choice">
<label for="activity_role_ids_104">
<input id="activity_role_ids_104" name="activity[role_ids][]" type="checkbox" value="104" />Language Therapist
</label>
</li>
<li class="choice">
<label for="activity_role_ids_103">
<input id="activity_role_ids_103" name="activity[role_ids][]" type="checkbox" value="103" />Speech Therapist
</label>
</li>
</ol>
</fieldset>
</li>
Selenium と xpath を使用しようとしています。最初の「チェックボックス」入力要素リンクを選択しようとしています。
要素の選択に問題があります。
db ID (104) は使用できません。これは、毎回新しい ID を使用してテストを繰り返すためです。Language Therapist のテキストに基づいて、「最初の」入力チェックボックスを選択する必要があります。
私が試してみました:
xpath=(//li[contains(@id,'activity_roles_input')])//input
と
xpath=(//li[contains(@id,'activity_roles_input')])//contains('Language Therapist")
しかし、それは要素を見つけていません。
私がする時:
xpath=(//li[contains(@id,'activity_roles_input')])
入力セットに到達します。私が抱えている問題は、「Language Therapist」の最初の入力チェックボックス コントロールを選択することです。