2016-11-22 4 views
0

ドロップダウンボックスの検索に問題がありました。絶対パスで動作するようにしましたが、要素の実際のxpathまたはidでは動作しませんでした。それは超イライラしているだけでそれを把握することはできません。idコマンドによる要素の検索は、JavaではなくSelenium ideで機能します。

Selenium IDEが動作するかどうかを確認するためにSelenium IDEがインストールされていて、selenium IDEがドロップダウンボックスを選択します。私はこのテストをJAVA/JUNITにエクスポートし、私が必要とするコマンドをコピーして既存のテストに貼り付けました。 SeleniumのIDで働いていたコマンドがあった。

new Select(driver.findElement(By.id("z_be"))).selectByVisibleText("All conditions must be met"); 

が、私はエラーを取得:

Command: select 
Target: id=z_be 
Value: label=All conditions must be met 

私は、Javaにこれをエクスポート

UnexpectedTagNameException: Element should have been "select" but was "div" 

この問題は狂気私を運転し、希望されます誰かが私を正しい方向に向けることができ、私の方法の誤りを私に見せることができれば、それを愛してください。 htmlは:

<select id="z_be" class="vui-input d2l-select" name="z_be" style="background-color: rgb(255, 255, 255);"> 
<option value="1">All conditions must be met</option> 
<option value="2" selected="selected">Any condition must be met</option> 
</select> 
+0

のIDです。 'z_be'は一意ですか?私は他のdiv要素も同じidを共有していると思います。 –

+0

こんにちはSudharsan Selvarajは、私はこのz_beの唯一の少数の例を参照してください。<=「z_be」のラベルID =「ctl_41」クラス=「VUIラベルを」> この項目にアクセスするには、ユーザーが満足しなければならない 他のhugh htmlチャンクの真ん中です: tarquin

+0

デベロッパーコンソールで 'document.querySelectorAll("#z_be ")。length'を実行してください。それは1を返しますか? – JeffC

答えて

0

私はついにこれを手に入れました。私は、次のことを試してみましたが、それは私はそれが成功した放火犯のCSSでそれを識別される理由を知らないその動作しませんでした:

driver.findElement(By.cssSelector("select[id*='z_be'] option[value='1']")).click(); 

しかし、私はこれを試してみましたが、それは仕事をした:

driver.findElement(By.cssSelector("option[value='2']")).click(); 
関連する問題