selenium下拉框的操作这样做,阿里p10都直呼牛逼

下拉框处理

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

 总结:

 光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!

你可能感兴趣的:(selenium,测试工具)