针对 select 标签的下拉列表,Selenium 提供了 Select 类进行操作:

from selenium.webdriver.support.ui import Select

Select 类罕用办法:

序号办法/属性形容
1select_by_value()依据值抉择
2select_by_index()依据索引抉择(从1开始)
3select_by_visible_text()依据文本抉择
4deselect_by_value()依据值反选
5deselect_by_index()依据索引反选
6deselect_by_visible_text()依据文本反选
7deselect_all()反选所有
8options获取所有选项
9all_selected_options获取所有选中的选项
10first_selected_option获取第一个选中的选项

select 单选框

对于 select 单选框,操作比较简单,创立 Select 对象后,间接应用 Select 类中的办法抉择即可。

实例利用

from selenium import webdriverfrom time import sleepfrom selenium.webdriver.support.ui import Selectdriver = webdriver.Chrome()  # 关上浏览器driver.get("http://sahitest.com/demo/selectTest.htm")  # 跳转至测试页面sleep(1)select_element = Select(driver.find_element_by_id("s1"))  # 创立Select对象select_element.select_by_value("46")  # 依据值抉择sleep(1)select_element.select_by_index(4)  # 依据索引抉择(从1开始)sleep(1)select_element.select_by_visible_text("Home Phone")  # 依据文本抉择sleep(1)driver.quit()

select 多选框

对于 select 多选框,如果须要选中某几个选项,那么,要留神革除原来曾经选中的选项

实例利用

from selenium import webdriverfrom time import sleepfrom selenium.webdriver.support.ui import Selectdriver = webdriver.Chrome()  # 关上浏览器driver.get("http://sahitest.com/demo/selectTest.htm")  # 跳转至测试页面sleep(1)select_element = Select(driver.find_element_by_id("s4Id"))  # 创立Select对象select_element.deselect_all()select_element.select_by_value("o1val")  # 依据值抉择sleep(1)select_element.select_by_index(4)  # 依据索引抉择(从1开始)sleep(1)select_element.select_by_visible_text("o2")  # 依据文本抉择sleep(1)# 打印所有选项的文本for option in select_element.options:    print(option.text)sleep(2)driver.quit()

总结