选中状态
下拉框、单选框和复选框选中状态判断可以通过is_selected()和expected_conditions下的element_to_be_selected()方法
is_selected()返回结果为布尔值, element_to_be_selected()与显式等待组合使用不满足则抛出异常
is_selected()方法
driver.find_element_by_xpath("//input[@id='select']").is_selected()
element_to_be_selected()方法
#!/usr/bin/python3.6
# coding=utf-8
# Author: 文
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
# 与显式等待组合使用
WebDriverWait(driver=driver, timeout=5, poll_frequency=0.5).until(
method=EC.element_to_be_selected(driver.find_element(By.id, "element")),
message="显式等待超时 元素依然为非选中状态")
注:下拉框选项的选中状态判断需要在下拉框收起的状态下
操作选项
单复选框可以通过click()方法直接点击
driver.find_element_by_xpath("//input[@id='select']").click()
操作下拉框
1. 点击打开下拉框,通过键盘上下键来操作选中选项
#!/usr/bin/python3.6
# coding=utf-8
# Author: 文
from selenium.webdriver.common.keys import Keys
driver.find_element_by_xpath("//input[@id='select']").click() # 点击打开下拉框
driver.find_element_by_xpath("//input[@id='select']").send_keys(Keys.DOWN) # 方向键下移动选中
driver.find_element_by_xpath("//input[@id='select']").send_keys(Keys.UP) # 方向键上移动选中
2. 通过webdriver的Select操作选中选项
#!/usr/bin/python3.6
# coding=utf-8
# Author: 文
from selenium.webdriver.support.select import Select
# 通过下拉框的value值操作选中下拉框选项
Select(driver.find_element_by_xpath("//input[@id='select']")).select_by_value(value="2")
# 通过下拉框的text操作选中下拉框选项
Select(driver.find_element_by_xpath("//input[@id='select']")).select_by_visible_text(text="男")
# 通过下拉框的索引操作选中下拉框选项
Select(driver.find_element_by_xpath("//input[@id='select']")).select_by_index(index=1)