pythonselenium-webdriver下拉菜单处理(九)
测试过程中经常遇到下来菜单,比如说分页,每页显示的条数,以及语言的切换,很多时候经常是以下来菜单的形式展现,下面我们看一下selenium如何处理下来菜单。
首先selenium很人性化的给提供了一个Select的模块,供处理下来菜单,首先我们需要导入Select,通过fromselenium.webdriver.support.selectimportSelect来导入。
Select中提供几个用于定位的option的方法,下面看一下具体的方法
主要把Select方法总结了一下分为三大类:
1.选择列表
select_by_index(self,index)??#以index属性值来查找匹配的元素并选择;
select_by_value(self,value)?????#以value属性值来查找该option并选择;
select_by_visible_text(self,text)??#以text文本值来查找匹配的元素并选择;
first_selected_option(self)???????#选择第一个option选项;
为了测试以上的方法,从网上找的了一个简单的页面,来辅助测试
针对按索引进行切换option属性示例如下。常用方法
#--coding:utf-8--
importtime
fromseleniumimportwebdriver
fromselenium.webdriver.support.selectimportSelect
driver=webdriver.Chrome()
driver.maximize_window()
driver.get(''file:///C:/Users/hunk/Desktop/select.html'')
time.sleep(2)#默认option显示"Fiat"
S=Select(driver.find_element_by_name(''cars'')).select_by_index(0)#实例化Select,按索引选择option。索引以0开始
time.sleep(2)#切换后option显示"Volvo"
driver.quit()
针对按value进行切换option属性示例如下。常用方法
#--coding:utf-8--
importtime
fromseleniumimportwebdriver
fromselenium.webdriver.support.selectimportSelect
driver=webdriver.Chrome()
driver.maximize_window()
driver.get(''file:///C:/Users/hunk/Desktop/select.html'')
time.sleep(2)#默认option显示"Fiat"
S=Select(driver.find_element_by_name(''cars'')).select_by_value(''saab'')#实例化Select,按value选择option。这里的value是标签的属性value,Saab
time.sleep(2)#切换后option显示"saab"
driver.quit()
针对按text文本进行切换option属性示例如下。常用方法
#--coding:utf-8--
importtime
fromseleniumimportwebdriver
fromselenium.webdriver.support.selectimportSelect
driver=webdriver.Chrome()
driver.maximize_window()
driver.get(''file:///C:/Users/hunk/Desktop/select.html'')
time.sleep(2)#默认option显示"Fiat"
S=Select(driver.find_element_by_name(''cars'')).select_by_visible_text(''Audi'')#实例化Select,text值是选择的我们下拉菜单时看到的值
time.sleep(2)#切换后option显示"Audi"
driver.quit()
使用first_selected_option(self)来切换到第一个option,该方法与select_by_index(0)实现的效果相同,直接看一下代码执行效果,详细的就解释了
#--coding:utf-8--
importtime
fromseleniumimportwebdriver
fromselenium.webdriver.support.selectimportSelect
driver=webdriver.Chrome()
driver.maximize_window()
driver.get(''file:///C:/Users/hunk/Desktop/select.html'')
time.sleep(2)#默认option显示"Fiat"
S=Select(driver.find_element_by_name(''cars'')).first_selected_option
time.sleep(2)#切换后option显示"Audi"
driver.quit()
2.清除选择列表
第一类我们讲解了如何选择列表,总共介绍了4种方法,但是既然可以选择我们就可以清除选择,而前三种取消方法可以与选择一一对应,下面我们看下如何清除选择
deselect_by_index(self,?index)???????#以index属性值来查找匹配的元素并取消选择;
deselect_by_value(self,?value)???????#以value属性值来查找该option并取消选择;
deselect_by_visible_text(self,?text)#以text文本值来查找匹配的元素并取消选择;
deselect_all(self)??????????????????#将所有选择清除;
因为按照上面的页面示例,我们切换完成以后是没有办法清除,下面我们来普及一下html |
|