selenium复选项框多种实现方案

我们在UI自动化的过程,常常遇到复选框的场景,那么复选框在UI自动化中,应该怎么实现全部勾选呢?全部取消呢?今天我们就来讨论上面的2个问题:

场景
HTML代码类似下面这样的:下面的复选框实现全部勾选

selenium复选项框多种实现方案

实现方案一

方案一:

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种方案没有优劣,看个人使用习惯



留言