2014-11-05 80 views
0

我想從隱藏的dropdownbox中選擇選項,但我無法做到這一點。使用jQuery和Selenium WebDriver使用Python從隱藏的dropdownbox中選擇選項

我想自動化的網站是www.geforce.com/drivers。在該頁面中,我想自動執行'手動驅動程序搜索'。我試圖通過使用下面的代碼從第一個dropdownbox中選擇選項,但我無法做到這一點。

driver.execute_script('document.getElementBYID('manualsearch-0').style='display.block'); 
select=Select(driver.find_element_by_id('manualSearch-0) 
for o in select.options: 
select.select_by_visible_text(o.text) 
+0

只是FYI你有'''作爲字符串的外部和內部。你需要使用'''裏面或其他方式,你也錯過了一些右括號和撇號 – Spokey 2014-11-05 13:11:58

回答

1

其實這些隱藏的下拉菜單對您沒有用處。

nvFrame-selectBox-dropdown class將爲您提供可用於手動搜索的下拉列表。

當您點擊任何下拉菜單時,下拉選項html會在類selectBox-dropdown-menu中可見。您可以在控制檯中查看HTML的底部部分。 由於這些options都在ulli的標籤,所以你不能使用Select硒的方法。

現在我們需要從所有結果中找到可見的ul。 在本例中,我已經使用了第四個下拉菜單並從底部選擇了第三個選項。

driver.find_elements_by_css_selector(".nvFrame-selectBox-dropdown")[3].click() 
time.sleep(2) 
uls = driver.find_elements_by_css_selector(".selectBox-dropdown-menu") 
for ul in uls: 
    if ul.is_displayed(): 
     visible_ul = ul 
     break 
print visible_ul.text 
visible_ul.find_elements_by_css_selector("li")[-3].click() 

當您選擇人眼可見的選項時,您可能需要在某些情況下滾動下拉列表。

+0

謝謝Dhiraj.its現在工作 – 2014-11-19 09:10:24

+0

我不能選擇這個選項通過這個 – 2014-11-19 09:41:13

+0

HI Dhiraj,我試圖從第一個dropdownbox中選擇選項。我能夠選擇多達2個選項,之後,我得到像緩存中找不到的元素的錯誤 - 也許該頁面發生了變化,因爲它被擡頭了。可以給我提供解決方案爲了這? – 2014-11-19 10:30:40

相關問題