复选框的操作
什么是复选框?
复选框,也叫做CheckBox,是图形用户界面上的一种基础控件。容许用户在一组选项中选择多个个。复选框的外观一般是一个空白的方框,旁边则通常有一个文字的标签。
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()