前言
前面两天一直在分享webdriver api的用法,今天呢还是继续分享webdriver api的用法,废话就不多说了,直接进入主题吧。
一、操作多选的选择列表
被测HTML代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>操作多选列表</title>
</head>
<body>
<select name="fruit" size="6" multiple=true>
<option id="peach" value="taozi">桃子</option>
<option id="watermelon" value="xigua">西瓜</option>
<option id="orange" value="juzi">橘子</option>
<option id="kiwifruit" value="nihoutao">猕猴桃</option>
<option id="maybush" value="shanzha">山楂</option>
<option id="litchi" value="lizhi">荔枝</option>
</select>
</body>
</html>
调用API实例代码
def testMultipleOptions(self):
from selenium.webdriver.support.ui import Select
import time
self.driver.get(r'file:///C:/Users/v-xug/Desktop/multipleOptions.html')
select_element = Select(self.driver.find_element_by_xpath('//select'))
# 通过序号选择第一个元素
select_element.select_by_index(0)
# 通过文本选择山楂
select_element.select_by_visible_text('山楂')
# 通过选项的value属性值选择value=猕猴桃
select_element.select_by_value('nihoutao')
# 打印所有选中文本
for option in select_element.all_selected_options:
print(option.text)
# 再次选中3个选项
select_element.select_by_index(1)
select_element.select_by_value('juzi')
select_element.select_by_visible_text('荔枝')
# 取消3个选项
select_element.deselect_by_index(0)
select_element.deselect_by_value('nihoutao')
select_element.deselect_by_visible_text('山楂')
</