我们在UI自动化的过程,常常遇到复选框的场景,那么复选框在UI自动化中,应该怎么实现全部勾选呢?全部取消呢?今天我们就来讨论上面的2个问题:
场景
HTML代码类似下面这样的:下面的复选框实现全部勾选
实现方案一
方案一:
inputs=driver.find_elements_by_tag_name("input")
for input in inputs:
if input.get_attribute('type') == 'checkbox':
input.click()
思路:
(1) find_elements_by_tag_name("input"):赋值给一个变量
(2) 用for循环遍历
(3) 获取type的值,并做判断
(4) 满足条件就勾选
实现方案二
方案二:
inputs=driver.find_elements_by_css_selector("input[type='checkbox']")
for input in inputs:
input.click()
思路:
(1) 直接把定位到属性值,然后赋给变量
(2) 使用for循环去遍历
(3)全部勾选
全部取消
反向选择:全部取消,再运行一次,即可实现全部取消
inputs=driver.find_elements_by_css_selector("input[type='checkbox']")
for input in inputs:
input.click()
说明:上面的2种方案的不同
(1) 定位方法的不同
find_elements_by_css_selector和find_elements_by_tag_name
(2)2种方案没有优劣,看个人使用习惯