Python3.x:遍歷select下拉框獲取value值
Select提供了三種選擇方法:html
# 經過選項的順序,第一個爲 0 select_by_index(index) # 經過value屬性 select_by_value(value) # 經過選項可見文本 select_by_visible_text(text)
Select提供了四種方法取消選擇:web
deselect_by_index(index) deselect_by_value(value) deselect_by_visible_text(text) deselect_all()
Select提供了三個屬性方法給咱們必要的信息:函數
# 提供全部的選項的列表,其中都是選項的WebElement元素 options # 提供全部被選中的選項的列表,其中也均爲選項 all_selected_options的WebElement元素 # 提供第一個被選中的選項,也是下拉框的默認值 first_selected_option
示例一:代碼(selenium遍歷select選項列表):post
from selenium import webdriver driver = webdriver.PhantomJS() driver.get("http://************/center_tjbg.shtml") #經過contains函數,提取匹配特定文本的全部元素 frame = driver.find_element_by_xpath("//iframe[contains(@src,'http://**********/cms-search/monthview.action?action=china&channelFidStr=e990411f19544e46be84333c25b63de6')]") #進入iframe頁面 driver.switch_to.frame(frame) #獲取select標籤 select = driver.find_element_by_id("channelFidStr") # 獲取select裏面的option標籤,注意使用find_elements options_list=select.find_elements_by_tag_name('option') # 遍歷option for option in options_list: #獲取下拉框的value和text print ("Value is:%s Text is:%s" %(option.get_attribute("value"),option.text)) #退出iframe driver.switch_to_default_content() driver.quit()
示例二:代碼(BeautifulSoup遍歷select選項列表):ui
url = "http://********************/monthview.action?action=china" headerDict = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.31 Safari/537.36'} data = {'riqi': '2017年12月', 'channelFidStr': 'e990411f19544e46be84333c25b63de6', 'channelIdStr': '08ce523457dd47d2aad6b41246964535'} # psot 傳遞參數 res = requests.post(url, data=data, headers=headerDict) # 獲取跳轉後的頁面源碼 soup = BeautifulSoup(res.content, "html.parser") #獲取select的選項列表 option_list = soup.find(id='channelFidStr').find_all('option') #遍歷select的選項列表 for option in option_list: print("value:%s text:%s"%(option['value'],option.text))
做者:整合俠
連接:http://www.cnblogs.com/lizm166/p/8367615.html
來源:博客園
著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。url