2016-05-09 36 views
1

何らかのテストを自動化するためにSeleniumにメールをしていません。セレンの新しい私の種類の新しい。だから私はフォームを検証しようとしています。一部のフィールドにはアスタリスクがあり、これは必須のフィールドです。私は現在、すべての可視フィールドをループして、先行要素にラベルがあるかどうかを確認しています。ラベルに星のクラスがあるかどうかを確認する必要もあります。私はこのxpathのものではあまり良くないので、どんな助けもありがとう。Java selenium xpathを使用して前の兄弟要素を動的に検索

for(int index = 0; index < optionOneinputList.size(); index++){ 
     if(optionOneinputList.get(index).isDisplayed()) { 
      optionOneListFinal.add(optionOneinputList.get(index).getAttribute("id")); 
      if(driver.findElement(By.xpath("//*[@id='" + optionOneinputList.get(index).getAttribute("id") + "']/preceding-sibling::label")) != null) { 
       System.out.println(driver.findElement(By.xpath("//*[@id='" + optionOneinputList.get(index).getAttribute("id") + "']/preceding-sibling::label"))); 
      } 

     } 
    } 

と私のHTML構造、これらの構造のいくつかの星のクラスを持っているといくつかの

<div> 
    <label></label><div class="star">*</div> 
    <input type="text"> 
</div> 
+0

HTMLを完成できますか? 'id'属性はコード内にのみ存在します。 –

答えて

0

を.:ませんが、これはあなたが探しているものであることができますか?

"//*[@id='" + optionOneinputList.get(index).getAttribute("id") + 
     "' and preceding-sibling::div[@class = 'star' ] ]/preceding-sibling::label" 
関連する問題