Selenium WebDriver-操做下拉框內容

操做下拉框中的內容
#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()
相關文章
相關標籤/搜索