八、操作測試對象
前面講到了不少知識都是定位元素,定位只是第一步,定位之后需要對這個原素進
行操作。鼠標點擊呢還是鍵盤輸入,這要取決于我們定位的是按鈕還輸入框。
博客園—蟲師
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()
.....
具體應用參考第十一節層級定位例子。