八、操作测试对象
前面讲到了不少知识都是定位元素,定位只是第一步,定位之后需要对这个原素进
行操作。鼠标点击呢还是键盘输入,这要取决于我们定位的是按钮还输入框。
博客园—虫师
http://fnng.cnblogs.com
21
一般来说,webdriver 中比较常用的操作对象的方法有下面几个
click
点击对象
send_keys
在对象上模拟按键输入
clear
清除对象的内容,如果可以的话
submit
清除对象的内容,如果可以的话
text
用于获取元素的文本信息
8.1、鼠标点击与键盘输入
在我们本系列开篇的第一个例子里就用到了到 click 和 send_skys ,别翻回去找
了,我再贴一下代码:
coding=utf-8
from selenium import webdriver
import time
driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").clear()
driver.find_element_by_id("kw").send_keys("selenium")
time.sleep(2)
#通过 submit() 来操作
driver.find_element_by_id("su").submit()
time.sleep(3)
driver.quit()
send_keys("xx")
用于在一个输入框里输入 xx 内容。
click()
用于点击一个按钮。
clear()
用于清除输入框的内容,比如百度输入框里默认有个“请输入关键
字”的信息,再比如我们的登陆框一般默认会有“账号”“密码”这样的默认信息。
clear 可以帮助我们清除这些信息。
8.2、submit 提交表单
我们把“百度一下”的操作从 click 换成 submit 可以达到相同的效果:
#coding=utf-8
from selenium import webdriver
import time
博客园—虫师
http://fnng.cnblogs.com
22
driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("selenium")
time.sleep(2)
#通过 submit() 来操作
driver.find_element_by_id("su").submit()
time.sleep(3)
driver.quit()
8.3、text 获取元素文本
text 用于获取元素的文本信息
下面把百度首页底部的声明打印输出
#coding=utf-8
from selenium import webdriver
import
time
driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
time.sleep(2)
#id = cp 元素的文本信息
data=driver.find_element_by_id("cp").text
print data
#打印信息
time.sleep(3)
driver.quit()
输出:
>>>
©2013 Baidu 使用百度前必读 京 ICP 证030173号
8.4、get_attribute 获得属性值
get_attribute
博客园—虫师
http://fnng.cnblogs.com
23
获得属性值。
这个函数的用法前面已经有出现过,在定位一组元素的时候有使用到它,只是我们
没有做过多的解释。
一般用法:
select = driver.find_element_by_tag_name("select")
allOptions = select.find_elements_by_tag_name("option")
for option in allOptions:
print "Value is: " + option.get_attribute("value")
option.click()
.....
具体应用参考第十一节层级定位例子。