Python+Selenium之下拉框架处理

一:前言

自动化测试时经常遇到下拉框的测试。
今天写个小案例来演示处理方法。

二:操作

①先写个下拉框页面:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>测试</title>
</head>
<body>
    <select id="demo">
        <option value="001">第一个</option>
        <option value="002">第二个</option>
        <option value="003">第三个</option>
        <option value="004">第四个</option>
    </select>
</body>

页面样式如下所示:
页面样式图
②用到的方法:

#index0开始
select_by_index(index)
#value是option标签的属性值,还可为class、titile、name,不显示在下拉框中
select_by_value(value)
#visible_text是option标签中的文本值,显示在下拉框中
select_by_visible_text(text)

③在Pycharm中写方法:

from selenium.webdriver.support.select import Select 或from selenium.webdriver.support.ui import Select
form selenium import webdriver
from time import sleep

driver = webdriver.Chrome()
driver.get('页面路径')
#Select方法也可以用到后面,为节约代码量,写到了这里
target = Select(driver.find_element_by_id('id'))

#开始使用方法
#选择第二项选项
result1 = target.select_by_index(1)  
#选择属性value="002"的选项
result2 = target.select_by_value("002")
#选择文本为第二个的选项
result3 = target.select_by_visible_text("第二个")

补充延申:

(1)取消选择的:

#index0开始,取消选择
deselect_by_index(index)
#value是option标签的属性值,还可为class、titile、name,不显示在下拉框中,取消选择
deselect_by_value(value)
#visible_text是option标签中的文本值,显示在下拉框中,取消选择
deselect_by_visible_text(text)
#全部取消选择
deselect_all()

使用方法:

target = Select(driver.find_element_by_id('id'))
result = target.方法() 

(2)查看选择的是哪项的:

#返回select所有的options
options
#返回所有被勾选的options
all_selected_options
#返回第一个被勾选的option
first_selected_option

使用方法:

target = Select(driver.find_element_by_id('id'))
for select in target.方法:
	print select.text
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值