web自动化:6.selenium下拉选择框的操作-Select

在做web自动化测试时,下拉框肯定是难以避免的,简单讲下其实现方式

下拉选择框,前端实现的2种方式:

1、原生方式

 <select> </select>  

2、通过js控制选项的显示或隐藏来达到与select标签同样的效果

<div> </div> 

下拉框选择的实现方法

1、常规操作,适用于以上两种方式
先定位并点击选择框元素;待下拉框选项展示出来后,再定位并点击选项元素。

2、Select类,仅适用于select标签实现的下拉框
原理其实就是常规操作的步骤,只是selenium提供了Select类,将代码封装起来使用比较方便。

练习

我自己用python语言写一个简单的html文件,方便练习,代码如下:

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>select选择框的操作</title>
</head>
<body>
    <h6>花测试  select选择框的操作</h6>
    <select id="test">
        <option value="hsl">何时了</option>
        <option value="qy">秋月</option>
        <option value="ch">春花</option>
    </select>
</body>
</html>

1、常规操作

from selenium import webdriver

driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.maximize_window()
url = '根据实际填写:在本地打开上面的html文件,然后复制浏览器上的url粘贴过来'
driver.get(url)

# 常规通用法
select_cl = driver.find_element('id', 'test')
select_cl.click()
select_cl = driver.find_element('xpath', '//option[text()="秋月"]')
select_cl.click()

2、使用Select类

from selenium import webdriver
from selenium.webdriver.support.select import Select

driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.maximize_window()
url = '根据实际填写:在本地打开上面的html文件,然后复制浏览器上的url粘贴过来'
driver.get(url)

select_cl = driver.find_element('id', 'test')   # 定位选择框元素
s = Select(select_cl)   # 初始化一个 select 对象

# 方法1:通过option选项中的 value 属性选中选项
s.select_by_value('qy')

# 方法2:通过索引选中选项
s.select_by_index(1)   # 从0开始

# 方法3:通过文本选中选项
s.select_by_visible_text('秋月')

你可以使用seleniumSelect类来处理下拉选择框的选择。首先,你需要导入Select类的模块。你可以使用以下方式导入: ``` from selenium.webdriver.support.ui import Select ``` 或者 ``` from selenium.webdriver.support.select import Select ``` 然后,你需要实例化一个Select类的对象,并通过该对象选择你想要的选项。你可以使用以下方法进行选择: - select_by_index(index):通过索引进行选择,索引从1开始。 - select_by_value(value):通过value属性值进行选择。 - select_by_visible_text(text):通过可见文本进行选择。 例如,如果你想通过索引选择第二个选项,你可以使用以下代码: ``` selector = Select(driver.find_element_by_id("Resolution")) selector.select_by_index(2) ``` 如果你想通过value属性值选择一个选项,你可以使用以下代码: ``` selector = Select(driver.find_element_by_id("Resolution")) selector.select_by_value("5") ``` 如果你想通过可见文本选择一个选项,你可以使用以下代码: ``` selector = Select(driver.find_element_by_id("Resolution")) selector.select_by_visible_text('1280x720') ``` 希望这个解答对你有所帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [selenium下拉选择框Select实例化](https://blog.csdn.net/m0_58394647/article/details/130938821)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [selenium下拉选择框处理](https://blog.csdn.net/weixin_30274627/article/details/95220694)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值