2016-01-20 65 views
0

我做了很多事情來解決這個問題......但任何答案都無法解決我的問題。python selenium dropdown error

我想選擇下拉選項。

這是我的主頁的HTML代碼

<div class="selectric-wrapper"> 
<div class="selectric-hide-select"> 
<select id="ymd_birth1" data-reactid=".2mlafrhlvk.2.0.2.1.1.1.0.0" tabindex="0"><option data-reactid=".2mlafrhlvk.2.0.2.1.1.1.0.0.$0">2015</option> 
<option data-reactid=".2mlafrhlvk.2.0.2.1.1.1.0.0.$1">2014</option> 
<option data-reactid=".2mlafrhlvk.2.0.2.1.1.1.0.0.$2">2013</option> 
<option data-reactid=".2mlafrhlvk.2.0.2.1.1.1.0.0.$3">2012</option> 
<option data-reactid=".2mlafrhlvk.2.0.2.1.1.1.0.0.$4">2011</option> 

,這是我的Python代碼。

driver.find_element_by_xpath("//select[@id='ymd_birth1']/option[text()='1994']").click() 

當我打印的所有選項

select = Select(driver.find_element_by_id("ymd_birth1")) 
print select.options 
print [o.text for o in select.options] 

結果是可怕的......

如..

[<selenium.webdriver.remote.webelement.WebElement (session="cdadecb9-0706-4383-a6bf-e1a2211e56ba", element="{7a3e2067-6a3c-4e21-816b-93d8c38288be}")>, <selenium.webdriver.remote.webelement.WebElement (session="cdadecb9-0706-4383-a6bf-e1a2211e56ba", element="{53bf8d75-a380-4a45-a1e8-7315505589bf}")>] 

[u'', u'', u'', u'', u'', u'', u'', u'', u'', u'....] 

請幫助我!我無法解決這個問題5個小時......

回答

1

當組合框關閉時,您無法單擊下拉選項。使用Select類而不是顯式等待

wait = WebDriverWait(driver,10) 
dropDown = wait.until(expected_conditions.visibility_of_element_located((By.ID, 'ymd_birth1'))) 
select = Select(dropDown) 
select.select_by_visible_text('1994') 
+0

它也不起作用。與ElementNotVisibleException:消息:元當前不可見,因此可以不與 –

+0

另一個錯誤即將進行交互.. 下拉= wait.until(expected_conditions.visibility_of_element_located(By.ID, 'ymd_birth1')) 類型錯誤:__init __( )只需要2個參數(給出3個) –

+0

@ChangHakYeon圍繞'By.ID'添加另一組括號,''ymd_birth1'':dropDown = wait.until(expected_conditions.visibility_of_element_located((By.ID,'ymd_birth1'))) – Guy