一般来说,所有有趣的操作与页面交互都将通过 WebElement 接口,包括上一节中介绍的对象定位,
以及本节中需要介绍的常对象操作。
webdriver 中比较常用的操作元素的方法有下面几个:
 clear 清除元素的内容,如果可以的话
 send_keys 在元素上模拟按键输入
 click 单击元素
 submit 提交表单
3.1、登录实例
下面以快播私有云登录实例来展示常见元素操作的使用:
#coding=utf-8
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://passport.kuaibo.com/login/?referrer=http%3A%2F%2Fwebclou
d.kuaibo.com%2F")
driver.find_element_by_id("user_name").clear()
driver.find_element_by_id("user_name").send_keys("username")
driver.find_element_by_id("user_pwd").clear()
driver.find_element_by_id("user_pwd").send_keys("password")
driver.find_element_by_id("dl_an_submit").click()
#通过 submit() 来提交操作
#driver.find_element_by_id("dl_an_submit").submit()
driver.quit()
clear() 用于清除输入框的默认内容
比如登录框内一般默认会有“账号” “密码”等提示信息,如果直接输入内容,和可能会与输入框的
默认提示信息拼接,从而造成输入信息的错误;这时 clear()将变得非常有用。
send_keys("xx") 用于在一个输入框里输入 xx 内容
python 是个容易出现编码问题的语言,有时候当我们在 send_keys()方法中输入中文时,然后脚本在
运行时就报编码错误, 这个时候我们可以在脚本开头声明编码为 utf-8, 然后在中文字符的前面加个小 u 就
解决了(表示转成 python Unicode 编码) :
#coding=utf-8
send_keys(u"中文内容")
需要注意的是 utf-8并不是万能的,如果 utf-8不能解决,可以尝试将编码声明为 GBK;关于 python
的编码问题,请参考 python 相关书籍。
click() 用于单击一个按钮
其实 click()方法不仅仅用于点击一个按钮,可以单击任何可以点击的元素,文字/图片连接,按钮,
下拉按钮等。
submit() 提交表单
从上面有例子,我们可看到可以使用 submit()方法来代替 click()对输入的信息进行提交,在有些情
况下两个方法可以相互使用;submit()要求提交对象是一个表单,更强调对信息的提交。click()更强调
事件的独立性。 (比如,一个文字链接就不能用 submit()方法。 )
3.2 WebElement 接口常用方法
WebElement 接口除了我们前面介绍的方法外,它还包含了别一些有用的方法。下面,我们例举例几
个比较有用的方法。
size
返回元素的尺寸。例:
#返回百度输入狂的宽高
size=driver.find_element_by_id("kw").size
print size
text
获取元素的文本,例:
#返回百度页面底部备案信息
text=driver.find_element_by_id("cp").text
print text
get_attribute(name)
获得属性值。例:
#返回元素的属性值,可以是 id、name、type 或元素拥有的其它任意属性
attribute=driver.find_element_by_id("kw").get_attribute('type')
print attribute
需要说明的是这个方法在定位一组时将变得非常有用,后面将有运行的实例。
is_displayed()
设置该元素是否用户可见。例:
#返回元素的结果是否可见,返回结果为 True 或 False
result=driver.find_element_by_id("kw").is_displayed()
print result
WebElement 接口的其它更多方法请参考 webdriver API。

转:python webdriver API 之操作测试对象的更多相关文章

  1. 转:python webdriver API 之 获取对象的属性

    获取测试对象的属性能够帮我们更好的进行对象的定位.比如页面上有很多标签为 input 元素,而我们需要定位其中 1 个有具有 data-node 属性不一样的元素.由于 webdriver 是不支持直 ...

  2. 转:python webdriver API 之简单对象的定位

    对象(元素)的定位和操作是自动化测试的核心部分,其中操作又是建立在定位的基础上的,因此元素定位就显得非常重要. (本书中用到的对象与元素同为一个事物)一个对象就像是一个人,他会有各种的特征(属性) , ...

  3. python webdriver API学习笔记

    浏览器操作 driver.maximize_window() #浏览器最大化 driver.set_window_size(480,800) #设置浏览器宽,高 driver.back() & ...

  4. 转:python webdriver API 之定位一组对象

    webdriver 可以很方便的使用 find_element 方法来定位某个特定的对象,不过有时候我们却需要定位一组对象,WebElement 接口同样提供了定位一组元素的方法 find_eleme ...

  5. webdriver(python)学习笔记六——操作测试对象

    定位到具体对象后,就需要对其进行操作,比如点击.输入内容等. 一般来说,webdriver中比较常用的操作对象的方法有下面几个 click 点击对象 send_keys 在对象上模拟按键输入 clea ...

  6. 转:python webdriver API 之定位 frame 中的对象

    在 web 应用中经常会出现 frame 嵌套的应用,假设页面上有 A.B 两个 frame,其中 B 在 A 内,那么定位 B 中的内容则需要先到 A,然后再到 B.switch_to_frame  ...

  7. 转:python webdriver API 之 验证码问题

    对于 web 应用来说,大部分的系统在用户登录时都要求用户输入验证码,验证码的类型的很多,有字母数字的,有汉字的,甚至还要用户输入一条算术题的答案的,对于系统来说使用验证码可以有效果的防止采用机器猜测 ...

  8. 转:python webdriver API 之调用 JavaScript

    当 webdriver 遇到没法完成的操作时,笔者可以考虑借用 JavaScript 来完成,比下下面的例子,通过 JavaScript 来隐藏页面上的元素.除了完成 webdriver 无法完成的操 ...

  9. 转:python webdriver API 之下载文件

    webdriver 允许我们设置默认的文件下载路径.也就是说文件会自动下载并且存在设置的那个目录中.要想下载文件,首选要先确定你所要下载的文件的类型.要识别自动文件的下载类型可以使用 curl ,如图 ...

随机推荐

  1. JStack分析cpu消耗过高问题

    Mark一下, 今天确实用这个方法找到了问题 http://www.iteye.com/topic/1114219 1. top找到目标进程,记下pid 2. top –p pid, 并用shift+ ...

  2. Andrew Ng机器学习公开课笔记 -- Online Learning

    网易公开课,第11课 notes,http://cs229.stanford.edu/notes/cs229-notes6.pdf   和之前看到的batch learning算法不一样,batch ...

  3. comms.nottingham.ac.uk/learningtechnology

    http://comms.nottingham.ac.uk/learningtechnology/

  4. Bootstrap 表格和按钮

    一.表格 1.条纹状表格 行产生一行隔一行加单色背景效果 注:表格效果需要基于基本格式.table <table class="table table-striped"> ...

  5. python对象数据的读写权限

    面向对象的编程语言在写大型程序的的时候,往往比面向过程的语言用起来更方便,安全.其中原因之一在于:类机制. 类,对众多的数据进行分类,封装,让一个数据对象成为一个完整的个体,贴近现实生活,高度抽象化. ...

  6. 通过IP获得IP所在地的三个接口

    http://ip.qq.com/cgi-bin/searchip?searchip1=180.168.144.211 http://ip.taobao.com/service/getIpInfo.p ...

  7. Android Handler简单示例

    package com.firstapp.foo.firstapp; import android.os.Handler; import android.os.Message; import andr ...

  8. windows10 环境下theano安装

    前言:我用的是 Anaconda2 安装python 1. 在Anaconda prompt中输入 conda install mingw libpython 2. 添加环境变量 C:\Anacond ...

  9. PHP的日期和时间

    <?php //2.获取日期和时间 //时间是一维的,所以任何一个时间的时间戳都是不一样的 //array getdate([int timestamp]); //string date(str ...

  10. jenkins自动构建截图