質問

セレンテストを書いています。

そこに「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」。それは忘れられやすく、忘れられている場合、表現が予期せぬ結果を生み出す可能性があります。
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top