操做下拉框中的內容 #encoding=utf-8 import unittest import time import chardet from selenium import webdriver class VisitSogouByIE(unittest.TestCase): def setUp(self): #啓動IE瀏覽器 #self.driver = webdriver.Firefox(executable_path = "e:\\geckodriver") self.driver = webdriver.Ie(executable_path = "e:\\IEDriverServer") def test_operateDropList(self): url = "http://127.0.0.1/test_select.html" # 訪問自定義的html網頁 self.driver.get(url) # 導入Select模塊 from selenium.webdriver.support.ui import Select # 使用xpath定位方式獲取select頁面元素對象 select_element = Select(self.driver.find_element_by_xpath("//select")) # 打印默認選中項的文本 print select_element.first_selected_option.text # 獲取全部選擇項的頁面元素對象 all_options = select_element.options # 打印選項總個數 print len(all_options) ''' is_enabled():判斷元素是否可操做 is_selected():判斷元素是否被選中 ''' if all_options[1].is_enabled() and not all_options[1].is_selected(): # 方法一:經過序號選擇第二個元素,序號從0開始 select_element.select_by_index(1) # 打印已選中項的文本 print select_element.all_selected_options[0].text # assertEqual()方法斷言當前選中的選項文本是不是「西瓜」 self.assertEqual(select_element.all_selected_options[0].text, u"西瓜") time.sleep(2) # 方法二:經過選項的顯示文本選擇文本爲「獼猴桃」選項 select_element.select_by_visible_text("獼猴桃") # 斷言已選中項的文本是不是「獼猴桃」 self.assertEqual(select_element.all_selected_options[0].text, u"獼猴桃") time.sleep(2) # 方法三:經過選項的value屬性值選擇value=「shanzha」選項 select_element.select_by_value("shanzha") print select_element.all_selected_options[0].text self.assertEqual(select_element.all_selected_options[0].text, u"山楂") def tearDown(self): # 退出IE瀏覽器 self.driver.quit() if __name__ == '__main__': unittest.main()