Selenium自动化之另一种选中下拉框选项的方法

#另一种选中下拉框选项的方法

import unittest
import time
from selenium import webdriver

class VisitSogouByIE(unittest.TestCase):
    def setUp(self):
        # 启动IE浏览器
        self.driver = webdriver.Ie(executable_path="g:\\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, "西瓜")
        time.sleep(2)
        # 方法二:通过选项的显示文本选择文本为“猕猴桃”选项
        select_element.select_by_visible_text("猕猴桃")
        # 断言已选中项的文本是否是“猕猴桃”
        self.assertEqual(select_element.all_selected_options[0].text, "猕猴桃")
        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, "山楂")

    def tearDown(self):
        # 退出IE浏览器
        self.driver.quit()

if __name__ == '__main__':
    unittest.main()

Selenium自动化之另一种选中下拉框选项的方法_第1张图片

你可能感兴趣的:(python,自动化)