zoukankan      html  css  js  c++  java
  • webdriver高级应用 -更改一个对象界面的属性值

    #-*- 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 ")
    

      

  • 相关阅读:
    golang之panic,recover,defer
    Golang之函数练习
    Golang之strings包
    Golang之字符串操作(反转中英文字符串)
    keil中使用——变参数宏__VA_ARGS__
    到底该不该用RTOS——rtos的优点
    c语言联合union的使用用途
    c语言的#和##的用法
    c语言位域的使用注意事项——数据溢出
    基于 Keil MDK 移植 RT-Thread Nano
  • 原文地址:https://www.cnblogs.com/aszeno/p/10376417.html
Copyright © 2011-2022 走看看