#-*- coding=utf-8 -*-#更改一个对象界面的属性值from selenium import webdriverimport unittestdef addAttribute(driver,elementObj,attributeName,value): ???#封装向页面标签中添加新属性的方法 ???#调用JavaScript代码页面标签添加新属性,arguments[0]~arguments[2]分别用后面的 ???#element,attributeName和Value参数值进行替换,并执行该JavaScript代码 ???#添加新属性的JavaScript代码语法为:element.attributeNmae = Value ???#比如 input.name = "test" ???driver.execute_script("arguement[0].%s = arguements[1]"%attributeName, ?????????????????????????elementObj,value)def setAttribute(driver,elementObj,attributeName,value): ???#封装设置页面对象的属性值的方法 ???#调用JavaScript代码页面标签添加新属性,arguments[0]~arguments[2]分别用后面的 ???#element,attributeName和Value参数值进行替换,并执行该JavaScript代码 ???driver.execute_script("arguements[0].setAttribute ?????????????????????????(arguements[1],arguements[2])",elementObj,attributeName,value)def getAttribute(elementObj,attributeNmae): ???#封装获取页面对象的属性值的方法 ???return elementObj.get_attribute(attributeNmae)def removeAttribute(driver,elementObj,attributeName): ???#封装删除页面元素的方法 ???#调用JavaScript代码页面标签添加新属性,arguments[0]~arguments[2]分别用后面的 ???# element,attributeName和Value参数值进行替换,并执行该JavaScript代码 ???driver.execute_script("arguements[0].removeAttribute(arguements[1])", ?????????????????????????elementObj,attributeName)class TestDemo(unittest.TestCase): ???def setUp(self): ???????#启动浏览器 ???????self.driver = webdriver.Firefox(executable_path="C:\webdriver_firefox_driver") ???def test_dataPicker(self): ???????url = "C:\\test1.html" ???????#访问自定义页面 ???????self.driver.get(url) ???????#找到页面上标签为input的页面元素 ???????element = self.driver.find_element_by_xpath("//input ")
webdriver高级应用 -更改一个对象界面的属性值
原文地址:https://www.cnblogs.com/aszeno/p/10376417.html