在做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('秋月')