Selenium2+Python2.0自动化测试【10】 复选框

时间:2024-03-22 08:58:07

复选框的操作

什么是复选框?

复选框,也叫做CheckBox,是图形用户界面上的一种基础控件。容许用户在一组选项中选择多个个。复选框的外观一般是一个空白的方框,旁边则通常有一个文字的标签。

Selenium2+Python2.0自动化测试【10】 复选框

1、只勾选一个或其中几个,直接定位勾选就OK

# coding:utf-8
# 复选框操作
from selenium import webdriver
import time
driver = webdriver.Firefox()
driver.maximize_window()
driver.implicitly_wait(10)
# 打开目标网页
driver.get("https://www.sojump.com/jq/467816.aspx")
# 直接定位单个复选框
driver.find_element_by_xpath(".//*[@id='divquestion4']/ul/li[2]/a").click()
time.sleep(3)
driver.quit()
2、勾选全部,可以用定位一组元素的方法

如上图所示,这一组复选框具有相同的标签属性,将其全部找到,循环逐一选中就OK

注意:这里使用driver.find_elements_by_xpath

# coding:utf-8
# 复选框操作
from selenium import webdriver
import time
driver = webdriver.Firefox()
driver.maximize_window()
driver.implicitly_wait(10)
# 打开目标网页
driver.get("https://www.sojump.com/jq/467816.aspx")
# 使用定位组元素方式
checkboxs = driver.find_elements_by_xpath(".//*[@id='divquestion4']/ul/li")
for i in checkboxs:
    i.click()
time.sleep(3)
driver.quit()

3、判断复选框状态

获取复选框状态,使用is_selected()

# coding:utf-8
# 复选框操作
from selenium import webdriver
import time
driver = webdriver.Firefox()
driver.maximize_window()
driver.implicitly_wait(10)
# 打开目标网页
driver.get("https://www.sojump.com/jq/467816.aspx")
# 获取复选框元素
checkbox1 = driver.find_element_by_xpath(".//*[@id='divquestion4']/ul/li[2]/a")
# 使用条件语句判断复选框状态
if checkbox1.is_selected():
    print ("checkbox is selected, now please deselected")
    checkbox1.click()
else:
    print("checkbox is not selected, now please selected")
    checkbox1.click()
time.sleep(10)
driver.quit()