关于在web自动化中js取不到属性

问题

在web自动化判断中判断某个元素是否存在属性 a,使用条件语句进行判断,发现无论如何都是false


driver.excute
  res_status = self.driver.execute_script("return arguments[0].getAttribute('checked');", ele)
        if res_status :
            return True
        else:
            return False

原因

在上述描述中元素中含有属性 checked 但是没有value,或者说value是''。如果属性存在,那么返回的是这个属性的vlaue,也就是'',如果属性不存在,返回的是None,但是无论是哪一种,都无法通过if res_status 的判断,所以都是false

解决

将判断条件变为 if res_status =='' :即可