下拉框处理
web页面上经常会有下拉框,对下拉框的处理比较简单,一般分为两种情况:
一、下拉框通过元素定位识别
driver.find_element(By.XPATH,'//option[@value="peach"]').click()
二、创建一个select的对象,然后通过相应方法处理
先导入Select包: from selenium.webdriver.support.select import Select
element_obj = driver.find_element(By.XPATH,'//select[@id="Selector"]')
select_obj = Select(element_obj)
select_obj.select_by_value(value属性的值) # 利用value选择选项
select_obj.select_by_visible_text(文本内容) # 利用可见的文本内容选择选项
select_obj.select_by_index(5) # 利用下标选择选项,下标从0开始
代码如下:
import os
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Select # 导入Select包current_path = os.path.dirname(os.path.abspath(__file__)) # 当前路径
driver_path = os.path.join(current_path,'../webdriver/chromedriver.exe') # driver路径
pages_path = os.path.join(current_path,'../pages/element_samples.html') # 本地网页路径
driver = webdriver.Chrome(executable_path=driver_path) # Firefox,Ie等
driver.get('file://%s'%pages_path) # 本地网页打开file:// 打开部署好的站点http://# 直接识别下拉框选项并点击(select)
driver.find_element(By.XPATH,'//option[@value="peach"]').click()# 先识别下拉框元素,把元素转换成Select对象,然后利用Select对象的方法去识别
element_obj = driver.find_element(By.XPATH,'//select[@id="Selector"]')
select_obj = Select(element_obj)
select_obj.select_by_value("banana") # 利用value选择选项
time.sleep(2)
select_obj.select_by_visible_text('桔子') # 利用可见的文本内容选择选项
time.sleep(2)
select_obj.select_by_index(5) # 利用下标选择选项,下标从0开始
自动化测试相关教程推荐:
2023最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!_哔哩哔哩_bilibili
2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibili
测试开发相关教程推荐
2023全网最牛,字节测试开发大佬现场教学,从零开始教你成为年薪百万的测试开发工程师_哔哩哔哩_bilibili
postman/jmeter/fiddler测试工具类教程推荐
讲的最详细JMeter接口测试/接口自动化测试项目实战合集教程,学jmeter接口测试一套教程就够了!!_哔哩哔哩_bilibili
2023自学fiddler抓包,请一定要看完【如何1天学会fiddler抓包】的全网最详细视频教程!!_哔哩哔哩_bilibili
2023全网封神,B站讲的最详细的Postman接口测试实战教学,小白都能学会_哔哩哔哩_bilibili
总结:
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。
如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步
在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。
我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,
测试开发视频教程、学习笔记领取传送门!!