2017-03-16 8 views
0

私のアプリケーションは、バッチ実行 <span class="select2-selection__rendered" id="select2-siTime-container" title="10 AM - 11 AM">10 AM - 11 AM</span> のタイミングを示しているドロップダウンを持っていたI選択する値が得られます。org.openqa.selenium.support.ui.UnexpectedTagNameException:要素は、「選択」されている必要がありますが、私はドロップダウンリストの横にあるドロップダウンをクリックした後、「タイトル」

<ul class="select2-results__options ps-container ps-theme-default ps-active-y" role="tree" id="select2-siTime-results" aria-expanded="true" aria-hidden="false" data-ps-id="e0656a98-863d-cab8-ceca-763253acd3a0"> 
    <li class="select2-results__option" id="select2-siTime-result-sl6p-TIME_6" role="treeitem" aria-selected="false">6 AM - 7 AM</li> 
    <li class="select2-results__option" id="select2-siTime-result-ogb9-TIME_7" role="treeitem" aria-selected="false">7 AM - 8 AM</li> 
    <li class="select2-results__option" id="select2-siTime-result-wx7b-TIME_8" role="treeitem" aria-selected="false">8 AM - 9 AM</li> 

私は

要素が選択されている必要があること、エラーを見ているドロップダウンを選択しようが、タイトル

たとき

マイコード:

Select mycombo = new Select(driver.findElement(By.tagName("title"))); 
driver.findElement(By.xpath("//*[@aria-labelledby='select2-siTime-container']/span[2]")).click(); 
Thread.sleep(8000); 
mycombo.selectByIndex(4); 
+0

あなたの質問がまだ解決されていない場合は、以下のようにいくつかの情報を提供してください。 – DebanjanB

+0

1. HTML DOMからコードを追加してください。 2.どの値を選択したいですか? 3.単純なドロップダウンかモーダルドロップダウンかどうか確認できますか? 4. Dropdownのスナップショットを追加できますか? – DebanjanB

答えて

2

Selectクラスは<select>タグにのみ使用できます。このドロップダウンからオプションを選択するには、そのドロップダウンをクリックし、オプションをクリックします。何かのように

WebElement dropdown = driver.findElement(By.id("select2-siTime-results")); 
dropdown.click(); 
List<WebElement> options = dropdown.findElements(By.className("select2-results__option")); 
options.get(4).click(); 
+0

ありがとう、ガイ。それは働いた:-) – Aditya

+0

Guy - 私はget() - webelementのリストを変更しようとしましたが、常にそれはただ一つのオプションをクリックします。 ?私がget(3)を入力しても、それはliクラスで上記の要素の代わりに同じ要素をクリックしています。 – Aditya

関連する問題