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

  

原文地址:https://www.cnblogs.com/aszeno/p/10376417.html

时间: 02-14

webdriver高级应用 -更改一个对象界面的属性值的相关文章

没事抽空学——常用界面组件属性

android:latout_width fill_parent 设置组件宽高,fill和wrap相同 match_parent wrap_content android:text 组件中文字 组件中文字 android:ems 数值和长度单位 英文字M的数倍 android:inputType text/number/date/time... 文字类型 android:background example:ff0000 6或6十六位进制数设置底色 android:textSize 数值 设置文

AngularJS的ng-repeat显示属性名和属性值

代码下载:https://files.cnblogs.com/files/xiandedanteng/AngularJSAuthorRepeat.rar 代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html ng-app="notesApp"> <

java获取对象属性类型、属性名称、属性值

因为项目需要用到,于是简单封装了一些常用的操作: [java] view plaincopy /** * 根据属性名获取属性值 * */ private Object getFieldValueByName(String fieldName, Object o) { try { String firstLetter = fieldName.substring(0, 1).toUpperCase(); String getter = "get" + firstLetter + field

SoapUI对于Json数据进行属性值获取与传递

SoapUI的Property Transfer功能可以很好地对接口请求返回的数据进行参数属性获取与传递,但对于Json数据,SoapUI会把数据格式先转换成XML格式,但实际情况却是,转换后的XML格式往往根本没法用Xpath形式获取到指定的数据了.因此只能用Script脚本形式了. {"addUsersToDirectoryResponse":{"addUserToDirectoryResponse":[{"ack":"Succes

WinForm 清空界面控件值的小技巧

原文:WinForm 清空界面控件值的小技巧 在WinForm里面有时候需要清空自己输入内容或是选择的选项,以便重新操作流程,那么一般你是怎么清空界面各个控件值的呢?如果窗体里面控件,尤其是TextBox控件比较多的时候,代码里面是不是要设置每个控件的Text属性值为空呢?下面我用这个例子,来探讨下清空界面控件值的小技巧.而且还能复用.不必每个窗体都做这些枯燥.无聊的工作. 一般的做法是在清除控件的事件里面添加下面这样的代码: 代码 private void btnClear_Click(obj

jquery获取、改变元素属性值

//标签的属性称作元素属性,在JS里对应的DOM对象的对应属性叫DOM属性.JS里的DOM属性名有时和原元素属性名不同. //==================================操作元素属性================================== //返回元素指定属性值 var txt1_val=$("#txt1").attr("value"); //通过元素的DOM属性名更改DOM属性值 $("#txt1").att

父类属性值的copy

最近开发中遇到这样一个问题将父类的属性值copy到子类中,从而对子类添加一些其他属性. 父类: package com.jalja.org.jms.test01; import java.util.Date; public class User { private Integer id; private String name; private Date time; public User() { super(); } public User(String name, Date time) {

java 反射实现不同对象相同属性值复制

1.此方法会过滤final字段 2.此方法会过滤对象字段 3.此方法会兼容同对象之间.不同对象之间属性值复制 package com.bin.design.util; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.util.Arrays; import java.util.List; import com.bin.des

使用SetWindowPos API函数移动窗口后,还需修改Delphi的属性值,以备下次使用,否则就会出问题(不是API不起作用,而是使用了错误的坐标值)

单独改变坐标的代码如下,可不断左移: procedure TForm1.Button1Click(Sender: TObject); begin SetWindowPos(panel1.Handle, 0, panel1.Left-10, panel1.Top, panel1.Width, panel1.Height, SWP_NOZORDER + SWP_NOACTIVATE); end; 照理每次改变坐标,都会调用SetBounds,都会调用SetWindowPos函数,可是一旦我屏蔽Upd

UI中的界面之间的值传递 &lt;一&gt;

一. 从前往后传 —— 属性传值 1< 在后面一个界面定义属性(属性的类型要和传输的数据的数据类型一致). 2< 在从前一个界面进入到下一个界面之前, 将数据传给下一个界面. 例如有两个视图控制器: FirstViewController 和 SecondViewController 在这两个视图控制器中设置一个textField 和 label, 并且把FirstViewController的view上的textField上输入的text显示到SecondViewController的lab