質問
セレンテストを書いています。
そこに「Assign Designer」というラベルがあり、ラベルの直後に選択ボックスが続きます。残念ながら、選択ボックスには動的な ID があり、ID やその他の属性でクエリを実行することはできません。
「テキスト 'Assign Designer' の後の最初の選択タグ」を返す XPath クエリを作成できますか?
PS.Selenium は XPath 1.0 のみをサポートします
解決
これは次のようになります。
//label[text() = 'Assign Designer']/following-sibling::select[1]
ご了承ください:
- // 省略表現はドキュメント全体のスキャンを引き起こすため、非常に非効率的です。レーベルの立場をより具体的にできる場合は、そうすることをお勧めします。ただし、ドキュメントが小さい場合は、これは問題になりません。
- Seleniumについてはあまり詳しくないので「label」を使いました。そうでない場合は、
<label>
, もちろん、実際の要素名を使用する必要があります。;-) - 必ず位置述語を含めてください (
[1]
, 、この場合)「」のような軸を使用するたびにfollowing-sibling
」。それは忘れられやすく、忘れられている場合、表現が予期せぬ結果を生み出す可能性があります。
所属していません StackOverflow