lenium--更改标签的属性值
前戏以实玛利
在进⾏web⾃动化的时候,我们有时需要获取元素的属性,有时需要添加,有时需要删除,这时候就要通过js来进⾏操作了实战
from lenium import webdriver
海绵宝宝简笔画
import unittest
def addAttribute(driver, elementobj, attributeName, value):
'''
封装向页⾯标签添加新属性的⽅法
调⽤JS给页⾯标签添加新属性,arguments[0]~arguments[2]分别
会⽤后⾯的element,attributeName和value参数进⾏替换
添加新属性的JS代码语法为:element.attributeName=value
⽐如input.name='test'
'''
def tAttribute(driver, elementobj, attributeName, value):
'''
番茄菜花封装设置页⾯对象的属性值的⽅法
调⽤JS代码修改页⾯元素的属性值,arguments[0]~arguments[1]分别
会⽤后⾯的element,attributeName和value参数进⾏替换
'''
def getAttribute(elementobj, attributeName):
# 封装获取页⾯对象的属性值⽅法
_attribute(attributeName)
def removeAttribute(driver, elementobj, attributeName):
围城的主人公'''
封装删除页⾯属性的⽅法
调⽤JS代码删除页⾯元素的指定的属性,arguments[0]~arguments[1]分别
会⽤后⾯的element,attributeName参数进⾏替换
'''
elementobj, attributeName)
class TestDemo(unittest.TestCa):
def tUp(lf):
lf.driver = webdriver.Chrome()
def test_dataPicker(lf):
url = "D:\PycharmProjects\zouzou\dom.html"
(url)
element = lf.driver.find_element_by_xpath('//input')
# 向页⾯⽂本框input标签中添加新属性name='arch'
addAttribute(lf.driver, element, 'name', 'arch')
# 添加新属性后,查看⼀下新属性值
print('添加的新属性值%s="%s"' % ("name", getAttribute(element, "name")))
西红柿牛腩的做法print('更改⽂本框中内容前的value的值:', getAttribute(element, 'value'))
莎莎酱
# 更改value的属性值为“这是更改后的值”
tAttribute(lf.driver, element, 'value', '这是更改后的值') print('更改后value的值为:', getAttribute(element, 'value'))
# 查看更改前input页⾯元素中size属性值
print('更改前size的属性值为:', getAttribute(element, 'size'))
里番名字# 更改input的属性值为20
tAttribute(lf.driver, element, 'size', 20)
print('更改后size的属性值为:', getAttribute(element, 'size'))
# 查看删除input页⾯元素value属性前的值
奸诈贪婪print('删除前⽂本框value的值:', getAttribute(element, 'value')) # 删除属性值
removeAttribute(lf.driver, element, 'value')
print('删除后⽂本框value的值:', getAttribute(element, 'value')) if__name__ == '__main__':
unittest.main()