一般来说,所有有趣的操作与页面交互都将通过 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. JAVA Callable

    Listing -. Calculating Euler’s Number e import java.math.BigDecimal; import java.math.MathContext; i ...

  2. FTS抓包看L2CAP Connection的建立(一)

    一.概述     在前面的文章中介绍了inquiry和ACL connection的建立过程.这个连接建立后,L2CAP signaling channel(CID = 0x0001)就已经存在,可以 ...

  3. mongodb在win7下的安装和使用

    1.下载mongodb的windows版本,有32位和64位版本,根据系统情况下载,下载地址:http://www.mongodb.org/downloads 2.解压缩至额E:/mongodb即可 ...

  4. 导出证书Cer文件为Pem格式的步骤

    (1)先导出Push Services的证书,比如我们命名为“magic_cert.p12”,注意导出时会让你输入密码. (2)再导出Push Services证书的密钥(Private Key),比 ...

  5. CentOS7+Redis Live安装配置

    Redis Live是一个用来监控redis实例,分析查询语句并且有web界面的监控工具,使用python编写. 代码下载地址:https://github.com/nkrode/RedisLive ...

  6. ecshop详细的安装教程

    ECShop 的安装非常简单.方便,任何一种编码程序的安装方法都是一样的(即 GBK 和 UTF-8 版本的安装方法是一样的) 1.安装前的准备 docs目录下存放有 ECShop 安装说明(inst ...

  7. angularJs:动态效果之:显示与隐藏(该例对比了普通赋值,层次赋值,事件的写法对比)

    testShowAndHiddern.html <!DOCTYPE html> <html ng-app="MyModule"> <head> ...

  8. 通过css3实现开关选择按钮

      通过css属性实现如图所示按钮 要点:通过checkbox选中与否的状态与兄弟选择器实现相关功能 1.设置开关大小并设置定位方式为relative .swift-btn {     positio ...

  9. .NET 中的委托

    1.1.1 定义 委托是一种引用方法的类型.一旦为委托分配了方法,委托将与该方法具有完全相同的行为.委托方法的使用可以像其他任何方法一样,具有参数和返回值,如下面的示例所示: //Code in C# ...

  10. iOS 获取UUID

    -(NSString*)GetUUID { CFUUIDRef puuid = CFUUIDCreate( nil ); CFStringRef uuidString = CFUUIDCreateSt ...