前言
一直想学习自动化测试,但是都没行动,业余时间学习零零碎碎并记录20210414
【Selenium核心技术篇】包含以下内容:
- Selenium实现元素定位(8种)
- Selenium WebDriver
- Selenium WebElement
- Selenium操作from表单
- Selenium操作checkbox和radiobutton
- Selenium操作下拉列表
- Selenium处理弹框
- Selenium三种等待方式
- Selenium等待条件
- Selenium鼠标和键盘事件
- Selenium执行JavaScript脚本
- Selenium屏幕截图
- Selenium之frame的切入和切出
Select 模块方法
导入 Select 方法
from selenium.webdriver.support.select import Select
实操
1、自己新增一个html(本地页面),命名为:forms3.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>test_下拉框</title>
</head>
<body>
<form>
下拉框:
<select name="provise" id="provise" multiple>
<!-- multiple表示可以多选-->
<option value="t1">test1</option>
<option value="t2">test2</option>
<option value="t3">test3</option>
</select>
</form>
</body>
</html>
2、接着,实现form表单操作下拉列表
from selenium import webdriver
from time import sleep
import os
from selenium.webdriver.support.select import Select
class testcase(object):
def __init__(self):
self.driver = webdriver.Chrome()
# 获取当前文件绝对路径地址
path = os.path.dirname(os.path.abspath(__file__))
# print(path)
# 拼接地址
file_path = 'file:///'+ path +'/forms3.html'
self.driver.get(file_path)
# 选择
def test_select(self):
# 实例化
se = self.driver.find_element_by_id('provise')
select = Select(se)
# 下拉框选择想要的数据
# 根据值选择
select.select_by_value('t1')
sleep(2)
# 根据索引选择
select.select_by_index(1)
sleep(2)
# 根据文本选择
select.select_by_visible_text('test3')
sleep(2)
self.driver.quit()
# 全选,再反选
def test_deselect_all(self):
# 实例化
se = self.driver.find_element_by_id('provise')
select = Select(se)
# 全选
for i in range(3):
select.select_by_index(i)
sleep(1)
sleep(3)
# 反选
select.deselect_all()
sleep(3)
self.driver.quit()
# 所有选项
def test_select_option(self):
# 实例化
se = self.driver.find_element_by_id('provise')
select = Select(se)
for option in select.options:
print(option.text) #打印出下拉框数据
sleep(2)
self.driver.quit()
if __name__ == '__main__':
case = testcase()
# case.test_select()
# case.test_deselect_all()
case.test_select_option()