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

时间: 2024-10-13 00:54:45

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

selenium--更改标签的属性值

前戏 在进行web自动化的时候,我们有时需要获取元素的属性,有时需要添加,有时需要删除,这时候就要通过js来进行操作了 实战 from selenium import webdriver import unittest def addAttribute(driver, elementobj, attributeName, value): ''' 封装向页面标签添加新属性的方法 调用JS给页面标签添加新属性,arguments[0]~arguments[2]分别 会用后面的element,attr

WPFS数据绑定(要是后台类对象的属性值发生改变,通知在“client界面与之绑定的控件值”也发生改变须要实现INotitypropertyChanged接口)

WPFS数据绑定(要是后台类对象的属性值发生改变,通知在"client界面与之绑定的控件值"也发生改变须要实现INotitypropertyChanged接口) MainWindow.xaml <Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="

Selenium WebDriver高级用法

Selenium GitHub地址 选择合适的WebDrvier WebDriver是一个接口,它有几种实现,分别是HtmlUnitDrvier.FirefoxDriver.InternetExplorerDriver.ChromeDriver.OperaDriver,除了 InternetExplorerDriver只能在Windows平台运行,其他WebDriver均能跨平台. 如果追求运行速度,HtmlUnitDriver是首选,但是它没有运行界面,不能实时看到运行效果.如果想看到运行效果

更改一个页面对象的属性值

#!usr/bin/env python #-*- coding:utf-8 -*- """ @author: sleeping_cat @Contact : [email protected] """ #更改一个页面对象的属性值 from selenium import webdriver import unittest def addAtttribute(driver,elementObj,attributeName,value): #封装向

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

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 数值 设置文

ASP.NET MVC中实现属性和属性值的组合,即笛卡尔乘积02, 在界面实现

在"ASP.NET MVC中实现属性和属性值的组合,即笛卡尔乘积01, 在控制台实现"中,在控制台应用程序中实现了属性值的笛卡尔乘积.本篇在界面中实现.需要实现的大致如下: 在界面中勾选CheckBoxList中属性值选项: 把勾选的属性值进行笛卡尔乘积,每行需要填写价格: 我们暂且不考虑这些CheckBoxList是如何显示出来的(在后续有关商品模块的文章中会实现),还需考虑的方面包括: 1.从CheckBoxList中获取到什么再往控制器传? 对于每行的CheckBoxList来说

Ubuntu更改登录界面的图片

Ubuntu默认的图片是大红大紫的,如果不喜欢可以把他们改掉. 有三处要修改的地方: 桌面图片 登录界面图片 锁屏图片 本文介绍的是更改登陆界面图. 更改登录界面图片 找到以下文件 /etc/alternatives/gdm3.css 找到以下段落 /*找到默认的这个部分*/ #lockDialogGroup { background: #2c001e url(resource:///org/gnome/shell/theme/noise-texture.png); background-rep

js高级程序设计——数据属性和访问器属性

ES5中对象的属性可以分为"数据属性"和"访问器属性"两种. 数据属性一般用于存储数据数值,访问器属性对应的是set/get操作,不能直接存储数据值. 数据属性分为 configurable   enumerable writable value 解释:configurable: 表示能否通过delete删除属性重而重新定义属性,能否修改属性的特性,或者能否把属性修改为访问器属性. enumerable:表示能否通过for-in循环返回属性. writable:表示

获取一个对象的属性/属性值,以及动态给属性赋值

//定义类 public class MyClass { public int Property1 { get; set; } public string Property2 { get; set; } } MyClass tmp_Class = new MyClass(); tmp_Class.Property1 = 2; tmp_Class.Property2 = "aq23iu"; Type type = tmp_Class.GetType(); //获取类型 System.Re