博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
selenium--单选下拉列表
阅读量:4709 次
发布时间:2019-06-10

本文共 4308 字,大约阅读时间需要 14 分钟。

下拉选择

from selenium import webdriverfrom time import sleepdriver = webdriver.Chrome()driver.get("https://www.xxxxx.com/")sleep(2)driver.find_elements_by_tag_name('option')[2].click()# 通过标签名定位到 option 标签,选择第三个,第一个下标为 0driver.find_element_by_css_selector("[value='3']").click()# 通过 css 定位属性定位

通过Select类定位

# 通过Select类定位from selenium import webdriverfrom selenium.webdriver.support.ui import Selectfrom time import sleepdriver = webdriver.Chrome()driver.get("http:\\www.xxxx.com")select = Select(driver.find_element_by_css_selector("[name='CookieDate']"))# 定位到所有的选项列表select.select_by_index('1')  # 根据索引定位,从 0 开始sleep(2)select.select_by_visible_text("一年")# 根据看的见的文本定位select.select_by_value('3')  # 根据 value 值定位sleep(2)driver.quit()

 栗子;

    
下拉框
遍历所有选项并打印选项显示的文本和选项值 from selenium import webdriverimport unittestimport timeclass Test_SelectText(unittest.TestCase):    def test_getSelectText(self):        url = '01.html'        self.driver = webdriver.Chrome()        self.driver.get(url)        # 找到下拉框        select = self.driver.find_element_by_name('fruit')        # 找到所有的option        all_options = select.find_elements_by_tag_name('option')        for option in all_options:            print('选项显示的文本:', option.text)            print('选项值为:', option.get_attribute("value"))            # 找到一个选择一个            option.click()            time.sleep(2)test1 = Test_SelectText()test1.test_getSelectText()

结果:

选项显示的文本: 桃子选项值为: taozi选项显示的文本: 西瓜选项值为: xigua选项显示的文本: 橘子选项值为: juzi选项显示的文本: 猕猴桃选项值为: mihoutao选项显示的文本: 山楂选项值为: shanzha选项显示的文本: 荔枝选项值为: lizhi

通过索引定位

from selenium import webdriverimport unittestfrom selenium.webdriver.support.ui import Selectclass Test_SelectText(unittest.TestCase):    def test_getSelectText(self):        url = '01.html'        self.driver = webdriver.Chrome()        self.driver.get(url)        # 使用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))        if all_options[1].is_enabled() and not all_options[1].is_selected():            # 通过序号选中第二个元素,序号从0开始            select_element.select_by_index(1)            # 打印已选中的文本        txt = select_element.all_selected_options[0].text        print(txt)        # 断言当前选中的文本是否是西瓜        self.assertEqual(txt, '西瓜')test1 = Test_SelectText()test1.test_getSelectText()

结果:

桃子6西瓜

根据文本获取

from selenium import webdriverimport unittestfrom selenium.webdriver.support.ui import Selectclass Test_SelectText(unittest.TestCase):    def test_getSelectText(self):        url = '01.html'        self.driver = webdriver.Chrome()        self.driver.get(url)        # 使用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))        select_element.select_by_visible_text('猕猴桃')        txt = select_element.all_selected_options[0].text        print(txt)        # 断言当前选中的文本是否是猕猴桃        self.assertEqual(txt, '猕猴桃')test1 = Test_SelectText()test1.test_getSelectText()

结果:

桃子6猕猴桃

根据value

from selenium import webdriverimport unittestimport timefrom selenium.webdriver.support.ui import Selectclass Test_SelectText(unittest.TestCase):    def test_getSelectText(self):        url = '01.html'        self.driver = webdriver.Chrome()        self.driver.get(url)        # 使用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))        select_element.select_by_value('shanzha')        txt = select_element.all_selected_options[0].text        print(txt)        # 断言当前选中的文本是否是山楂        self.assertEqual(txt, '山楂')test1 = Test_SelectText()test1.test_getSelectText()

select_element.all_selected_options属性获取的是所有被选中项的对象组成的列表对象

 

 

转载于:https://www.cnblogs.com/zouzou-busy/p/11070660.html

你可能感兴趣的文章
IT常用单词
查看>>
拓扑排序
查看>>
NYOJ--32--SEARCH--组合数
查看>>
gulpfile 压缩模板
查看>>
【34.14%】【BZOJ 3110】 [Zjoi2013]K大数查询
查看>>
【 henuacm2016级暑期训练-动态规划专题 A 】Cards
查看>>
第五篇:白话tornado源码之褪去模板的外衣
查看>>
设备常用框架framework
查看>>
bootstrap模态框和select2合用时input无法获取焦点(转)
查看>>
MockObject
查看>>
BZOJ4516: [Sdoi2016]生成魔咒(后缀自动机)
查看>>
查看手机已经记住的WIFI密码
查看>>
最新版IntelliJ IDEA2019 破解教程(2019.08.07-情人节更新)
查看>>
C# 两个datatable中的数据快速比较返回交集或差集
查看>>
关于oracle样例数据库emp、dept、salgrade的mysql脚本复杂查询分析
查看>>
adb shell am 的用法
查看>>
iOS10 UI教程视图和子视图的可见性
查看>>
FindChildControl与FindComponent
查看>>
中国城市json
查看>>
android下载手动下载Android SDK
查看>>