2016-02-28 97 views
2

選擇項目我有這個drop down list從下拉列表

<div class="select_id" style="width: 592px;"><span class="left"></span><span class="center">103</span><a class="select-opener"></a></div> 
<select class="id-hidden" name="ids"><option value="">Please select...</option> 
<option value="a">a</option> 
<option value="b">b</option> 
<option value="c">c</option> 
<option value="d">d</option> 
<option value="e">e</option> 

所以我儘量選擇項目。

所以我有這個元素:

val selectAccountDropDownListElement: WebElement = 
    wait.until(ExpectedConditions.visibilityOfElementLocated(
    By.cssSelector(("div.select_id")))) 

打開下拉列表:

selectAccountDropDownListElement.click() 

現在我怎樣才能從我drop down list選擇一個項目?

回答

0

這是因爲(docs)一樣簡單:

singleSel("id").value = "a" 

或者:

singleSel("id").selection = Some("a") 
+0

什麼是singleSel? –

+0

@davidhol它是一個擴展Element的類([docs](http://www.artima.com/docs-scalatest-2.0.M5/org/scalatest/selenium/WebBrowser$SingleSel.html))。 – alecxe

+0

如何使用它? (我沒有finf的例子) –

0

你也許可以找到的元素的XPATH。

例如,(請查一下),但:

a_xpath = "/select/option[0]" 
b_xpath = "/select/option[1]" 
c_xpath = "/select/option[2]" 
d_xpath = "/select/option[3]" 
e_xpath = "/select/option[4]" 

(我建議使用Firefox的擴展Firebug很容易找到的XPath)

然後,你可以點擊之後你的信選項打開下拉列表:

selectAccountDropDownListElement.click() # opens dropdown box 
driver.find_element_by_xpath(a_xpath).click() # clicks 'a' dropdown option 

以下是一些可以幫助您的指南。 :)

http://selenium-python.readthedocs.org/locating-elements.html http://www.wikihow.com/Find-XPath-Using-Firebug

+0

我想避免使用索引號導致列表更改,所以我更喜歡按名稱使用項目 –

+0

嘗試:'a_xpath =「//輸入[@值='a']」'或甚至是'/ select/option [。 ='a']'(來自http://stackoverflow.com/questions/1535377/xpath-for-selecting-option-html-tag) – Brandon

+0

我想我不能達到這個,因爲select元素是隱藏的,請參閱html示例 –