针对 select 标签的下拉列表,Selenium 提供了 Select
类进行操作:
from selenium.webdriver.support.ui import Select
Select
类罕用办法:
序号 | 办法/属性 | 形容 |
---|---|---|
1 | select_by_value() | 依据值抉择 |
2 | select_by_index() | 依据索引抉择(从1开始) |
3 | select_by_visible_text() | 依据文本抉择 |
4 | deselect_by_value() | 依据值反选 |
5 | deselect_by_index() | 依据索引反选 |
6 | deselect_by_visible_text() | 依据文本反选 |
7 | deselect_all() | 反选所有 |
8 | options | 获取所有选项 |
9 | all_selected_options | 获取所有选中的选项 |
10 | first_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()