2016-06-02 5 views
0

私は、セレクションを選択する代わりに、セレクションを使ってブートストラップドロップダウンメニューの値を渡す必要があるという要件があります。どうすればこれを達成できますか?とにかく、セレンのセンドキーを使ってそれを行うことができるのですか? 以下はコードです。私は、値をCSS、HTML、Javaスクリプトに渡す必要があります。セレンのsendkeysを使用して値を渡して、ブートストラップドロップダウンメニューから項目を選択できますか?

new Actions(driver).sendKeys(Keys.ARROW_DOWN, Keys.ARROW_DOWN, Keys.ARROW_DOWN).perform(); 

このコードは、例えば、あなたの要素Javascriptを選択する必要があり、開くボタンをクリックした後:あなたのキーボードで、ドロップダウンリストの項目を選択するには、このようなものを使用することができます

<div class="container"> 
    <h2>Dropdown Example</h2> 
    <p>The data-toggle="dropdown" attribute is used to open the dropdown menu.</p> 
    <div class="dropdown"> 
    <button class="btn btn-primary dropdown-toggle" id="menu1" type="button" data-toggle="dropdown">Dropdown Example 
    <span class="caret"></span></button> 
    <ul class="dropdown-menu" role="menu" aria-labelledby="menu1"> 
     <li role="presentation"><a role="menuitem" tabindex="-1" href="#">HTML</a></li> 
     <li role="presentation"><a role="menuitem" tabindex="-1" href="#">CSS</a></li> 
     <li role="presentation"><a role="menuitem" tabindex="-1" href="#">JavaScript</a></li> 
     <li role="presentation" class="divider"></li> 
     <li role="presentation"><a role="menuitem" tabindex="-1" href="#">About Us</a></li>  
    </ul> 
    </div> 
</div> 
+0

値を渡すことはどういう意味ですか?テキストをリスト要素に送ることはできません。 – Mobrockers

+0

私は、HTML、Css、JavascriptといったsendKeyを使ってリスト要素を渡す必要があることを意味します。 – siddu

+0

どこに渡しますか?要素テキストを取得する必要があるということですか? – Mobrockers

答えて

0

ドロップダウン。あなたはカウントする必要があるとしているドロップダウンにあなたの要素の位置を検索するに

編集

。次のようにこれを行うことができます:

List<WebElement> elements = driver.findElements(By.cssSelector(ul.dropdown-menu > li)); 

for(WebElement element : elements) { 
    new Actions(driver).sendKeys(Keys.ARROW_DOWN).perform(); 
    if(element.getText().equals("Javascript") { 
     element.click(); 
     break; 
    } 
} 
+0

ええ、それは正しいですが、私は項目のリストが都市を選択する必要がある都市を選択すると言うと、ここで私の選択は無作為に変更されるので、私は非常に頻繁に都市名を変更することができますExcelシートを使用する必要があります。 Excelシートからドロップダウンで選択する値を渡しています。もし私がdriver.findElement(By.xpath(( "//*[@id=''menu1]"))).sendkeys("value to passed")のように与えると、だからこのフィールドでは、私はそれを選ぶことができる都市名を与えなければならない。どうすればいい? – siddu

+0

私の編集を参照してください、これはおそらく動作するはずです。 – Mobrockers

関連する問題