2016-04-06 111 views
0

我是新來的蟒蛇。我有一個R代碼,我試圖用python 腳本替換。我遇到了一些問題,讓python從下拉菜單中選擇一個值爲 。python硒選項下拉

這是R中的起作用的代碼:

remDr$findElement(using = 'xpath', "//select[@id = 'groupby1']/option[@value = 'ReportDate']")$clickElement() 

這是HTML代碼:

select style="" class="dropdown" name="groupby1" id="groupby1" accesskey="" waffle_affected_fields="" 

option value="ReportData">Report Date</option> 

這裏有一對夫婦的事情,我尋找如何做到這一點的Python和我之後嘗試 一直出現錯誤。

find_element_by_xpath("//select[@id='groupby1']/option[@value='ReportDate']").click() 
NameError: name 'find_element_by_xpath' is not defined 

Select(driver.find_element_by_css_selector("select#groupby1")).select_by_value('ReportDate').click() 
NameError: name 'Select' is not defined 

任何幫助都被佔用了!

回答

0

Select沒有click()。像這樣使用它

Select(driver.find_element_by_id('groupby1')).select_by_value('ReportDate') 
# or by text 
Select(driver.find_element_by_id('groupby1')).select_by_visible_text('ReportDate') 
+0

我試過這個,我得到了同樣的錯誤。 – symn28

+0

這裏是錯誤信息:elem = Select(driver.find_element_by_id('groupby1'))。select_by_value('ReportDate') NameError:name'Select'is not defined。除了從selenium導入webdriver以外,還有什麼我需要導入? – symn28

+0

@ symn28你導入select? '從selenium.webdriver.support.ui進口選擇'# – Guy

0

這些功能是您的webdriver實例的屬性。您需要這樣做:

from selenium import webdriver 

driver = webdriver.Firefox() 
driver.get("http://www.python.org") 
driver.find_element_by_xpath("//select[@id='groupby1']/option[@value='ReportDate']").click() 

查看getting started page的例子。