webdriver高级应用 -更改一个对象界面的属性值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | #-*- coding=utf-8 -*- #更改一个对象界面的属性值 from selenium import webdriver import unittest def 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 " ) |
分类:
selenium3.0
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现