1

自動化に Page Factory を使用していますが、次のコードを使用したいと考えています。

@FindBy(how = How.XPATH, using = "//div[contains(text(),'sometext')]")
private WebElement _selectBox1;

しかし、この Web 要素は選択ボックスとして使用できますが、この Web 要素はテキストとして使用できる場合があるため、この状況で xpath を使用する方法がわかりません。

ページ上の要素は選択ボックスとして使用できます (製品にいくつかの値が使用可能な場合)

<div>
<select id="id_2" class="selectBox" onchange="OnsSelectHandler(this,2)" style="display: none;">
<option value="">Click to select</option>
<option value="3341">value 1</option>
<option value="3342">value 2</option>
</select>
</div>

製品のデータがデータベースに存在しない場合は、テキストとして表示されます。

<div class="feature">
<span class="ynIco noIco"/>
<strong>Not available</strong>
</div>
4

2 に答える 2

1
@FindBy(how = How.XPATH, using = "//div[contains(text(),'sometext') or count(./select)=1]")
private WebElement _selectBox1;
于 2012-10-17T14:57:24.870 に答える
0

テキストボックスが存在するかどうかを確認します。

  if(isElementPresent(By.cssSelector("div.feature > span")))
  {
        If it is present, then no need to think about select box (Pick list values)
  }
  else
  { 
       Do your operation with select box.
  }

isElementPresent()の実装については、これを参照してください。

于 2012-10-17T14:42:34.117 に答える