2016-10-10 8 views
0

[サインアップ]タブをクリックした後にユーザーが選択できるドロップダウンが表示されます。しかし、セレンを使用して私は任意のオプションを選択することはできません。セレンのドロップダウンのカンツ選択オプション

driver.findElement(By.id("signup")).click(); 
WebDriverWait wait = new WebDriverWait(driver,15); 
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 
Select drop = new Select(driver.findElement(By.id("user_type_select"))); 
drop.selectByIndex(2); 

サインアップタブは表示されますが、ドロップダウンは選択されていません。何か案は?

+0

[MCVE] – charlietfl

+0

暗黙の待ち時間を入力してくださいが存在することの要素のためですが、クリック可能か、特定の動作を保証するものではありません。自動化しようとしているページがなければ、それを伝えるのは難しいです。 [jqueryui.selectmenu](https://jqueryui.com/selectmenu/)は元の「選択」 - 現在は表示されません - を隠し、ノードのセットによってそれをセレクタをモックするイベントハンドラに置き換えます。それを自動化するトラブル](http://stackoverflow.com/questions/28947955/how-to-automate-jqueryui-selectmenu-with-selenium-web-driver-selenium-ide)他のjs UIライブラリにはさまざまな問題があります。 –

+1

@Amarendra、任意のstacktraceしてください? –

答えて

0

10秒後に選択が完了したことを確認できますか? これを試してみてください。

waiter.until(ExpectedConditions.presenceOfElementLocated(By.id("user_type_select"))); 
0

要素をロードするとJavaScriptを実行するのを待つことは常に良いです。エンドポイントでは、javascriptはWebページによって最後に完了したアクションですので、その待ち時間を確認してください。以下のサンプルコード。

wait.equals((((JavascriptExecutor) driver).executeScript("return document.readyState").equals("complete"))); 
関連する問題