自动化测试过程中除了会使用selenium中的方法外,还有一部分事件需要js来实现,整理了一些常用的js事件,可以直接拿来用,若有遗漏,欢迎补充哦~
# 封装获取标签中的属性值
def getAttribute(self, elementobj, attributeName):
return elementobj.get_attribute(attributeName)
# 删除标签中的属性
def removeAttribute(self, elementobj, attributeName):
self.driver.execute_script("arguments[0].removeAttribute(arguments[1])", elementobj, attributeName)
# 向标签某一属性上填入值
def setAttribute(self, elementobj, attributeName, value):
self.driver.execute_script("arguments[0].setAttribute(arguments[1],arguments[2])", elementobj, attributeName,value)
# 往标签中添加属性
def addAttribute(self, elementobj, attributeName, value):
self.driver.execute_script("arguments[0].%s=arguments[1]" % attributeName, elementobj, value)
# 向iframe框中填入内容
def set_content(self):
js = "document.querySelector('.tox-edit-area__iframe').contentDocument.querySelector(" \
"'body').innerHTML='<p>这是一则公告</p>' "
self.driver.execute_script(js)
# 点击事件
def js_click(self, e):
js = "arguments[0].click();", e
self.driver.execute_script(js)
# 获得焦点事件
def js_focus(self, e):
js = "arguments[0].scrollIntoView();", e
self.driver.execute_script(js)