在做自动化测试的中过程中,其实很多新人都不知道如何去定位select表单值,那么今天强尤就给大家讲讲如何高速有效的去定位。
定位select表单有二种方式:
1、 先定位select,再去定位options的值。
2、 利用Select类去定位。
实战案例:
代码如下:
请选择
70后
80后
90后
00后
第一种定位方式python脚本如下:
from selenium import webdriver
from time import sleep
#打开谷歌浏览器
driver=webdriver.Chrome()
#最大化窗口
driver.maximize_window()
#打开网页
driver.get("D:\\yuanbaotest\\demo\\yuanbaotest.html")
#先定位select表单值,再获取option标签数组值,再用下标去定位值,并点击。
driver.find_element_by_id("age").find_elements_by_tag_name("option")[2].click()
#停止3秒
sleep(3)
第二种定位方式,python脚本如下:
from selenium import webdriver
#导入Select类
from selenium.webdriver.support.select import Select
from time import sleep
#打开谷歌浏览器
driver=webdriver.Chrome()
#最大化窗口
driver.maximize_window()
#打开网页
driver.get("D:\\yuanbaotest\\demo\\yuanbaotest.html")
#先定位好select表单
selectname=driver.find_element_by_id("age")
#使用Select类中select_by_value函数,使用option标签value值定位。
Select(selectname).select_by_value("90")
#停止3秒
sleep(3)
#使用Select类中select_by_index函数,使用option标签数组值来定位。
Select(selectname).select_by_index(1)
#停止3秒
sleep(3)
#使用Select类中select_by_visible_text函数,通过option选项的文本内容来定位
Select(selectname).select_by_visible_text("00后")
#停止3秒
sleep(3)
这里再另外讲解一下,一个特别的技巧,适合于验证某些测试场景需要获取select表单已选择的值。
这里使用以下场景就可以获取到select已选择的值了。
#打印并获取已选择的值,提供第一个被选中的选项,也是下拉框默认值。
print(Select(selectname).first_selected_option.text)
Select类其他函数:
deselect_all() :取消所有选项
deselect_by_index() :取消对应index选项
deselect_by_value() :取消对应value选项
deselect_by_visible_text() :取消对应文本选项
all_selected_options() :返回所有的选项
领取专属 10元无门槛券
私享最新 技术干货