def add_attribute(driver, element_obj, attribute_name, value):
"""
封装向页面标签添加新属性的方法
调用JS给页面标签添加新属性,arguments[0]~arguments[2]分别
会用后面的element,attributeName和value参数进行替换
添加新属性的JS代码语法为:element.attributeName=value
比如input.name='test'
"""
driver.execute_script("arguments[0].%s=arguments[1]" % attribute_name, element_obj, value)
def set_attribute(driver, element_obj, attribute_name, value):
"""
封装设置页面标签的属性值的方法
调用JS代码修改页面元素的属性值,arguments[0]~arguments[1]分别
会用后面的element,attributeName和value参数进行替换
"""
driver.execute_script("arguments[0].setAttribute(arguments[1],arguments[2])", element_obj, attribute_name, value)
def get_attribute(element_obj, attribute_name):
# 封装获取页面对象的属性值方法(selenium原生api)
return element_obj.get_attribute(attribute_name)
def remove_attribute(driver, element_obj, attribute_name):
"""
封装删除页面标签的属性的方法
调用JS代码删除页面元素的指定的属性,arguments[0]~arguments[1]分别
会用后面的element,attributeName参数进行替换
"""
driver.execute_script("arguments[0].removeAttribute(arguments[1])",
element_obj, attribute_name)