輕松自動(dòng)化---selenium-webdriver(python) (六)
本節(jié)知識(shí)點(diǎn):
操作對(duì)象:
· click 點(diǎn)擊對(duì)象
· send_keys 在對(duì)象上模擬按鍵輸入
· clear 清除對(duì)象的內(nèi)容,如果可以的話
WebElement 另一些常用方法:
· text 獲取該元素的文本
· submit 提交表單
· get_attribute 獲得屬性值
======================================
操作測(cè)試對(duì)象
前面講到了不少知識(shí)都是定位元素,定位只是第一步,定位之后需要對(duì)這個(gè)原素進(jìn)行操作。
鼠標(biāo)點(diǎn)擊呢還是鍵盤輸入,這要取決于我們定位的是按鈕還輸入框。
一般來(lái)說(shuō),webdriver中比較常用的操作對(duì)象的方法有下面幾個(gè)
· click 點(diǎn)擊對(duì)象
· send_keys 在對(duì)象上模擬按鍵輸入
· clear 清除對(duì)象的內(nèi)容,如果可以的話
在我們本系列開(kāi)篇的第一個(gè)例子里就用到了到click 和send_skys ,別翻回去找了,我再貼一下代碼:
# coding = utf-8 browser = webdriver.Firefox() browser.get(http://www.baidu.com) |
send_keys("XX") 用于在一個(gè)輸入框里輸入內(nèi)容。
click() 用于點(diǎn)擊一個(gè)按鈕。
clear() 用于清除輸入框的內(nèi)容,比如百度輸入框里默認(rèn)有個(gè)“請(qǐng)輸入關(guān)鍵字”的信息,再比如我們的登陸框一般默認(rèn)會(huì)有“賬號(hào)”“密碼”這樣的默認(rèn)信息。clear可以幫助我們清除這些信息。
WebElement 另一些常用方法:
· text 獲取該元素的文本
· submit 提交表單
· get_attribute 獲得屬性值
text
用于獲取元素的文本信息
下面把百度首頁(yè)底部的聲明打印輸出
#coding=utf-8 import time driver = webdriver.Firefox() #id = cp 元素的文本信息 time.sleep(3) |
輸出:
>>>
2013 Baidu 使用百度前必讀 京ICP證030173號(hào)
submit
提交表單
我們把“百度一下”的操作從click 換成submit :
#coding=utf-8 import time driver = webdriver.Firefox() driver.find_element_by_id("kw").send_keys("selenium") time.sleep(3) |
這里用submit 與click的效果一樣,我暫時(shí)還沒(méi)想到只能用submit 不能用click的場(chǎng)景。他們之間到底有啥區(qū)別,知道的同學(xué)請(qǐng)留言告訴我。
get_attribute
獲得屬性值。
這個(gè)函數(shù)的用法前面已經(jīng)有出現(xiàn)過(guò),在定位一組元素的時(shí)候有使用到它,只是我們沒(méi)有做過(guò)多的解釋。
一般用法:
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() |
具體應(yīng)用參考:
定位一組元素:http://www.cnblogs.com/fnng/p/3190966.html
小結(jié):
學(xué)到這里我們是不是已經(jīng)撐握了不少知識(shí),簡(jiǎn)單的操作瀏覽器,定位元素,操作元素以及打印一些信息。其實(shí),我們前面的學(xué)習(xí)中大多使用的是WebElement 里的方法。
WebElement的方法:
一般來(lái)說(shuō),所有有趣的操作與頁(yè)面進(jìn)行交互的有趣的操作,都通過(guò) WebElement 完成
classselenium.webdriver.remote.webelement.WebElement(parent, id_)
這個(gè)類代表HTML頁(yè)面元素
id_ #當(dāng)前元素的ID tag_name #獲取元素標(biāo)簽名的屬性 text #獲取該元素的文本。 click() #單擊(點(diǎn)擊)元素 submit() #提交表單 clear() #清除一個(gè)文本輸入元素的文本 get_attribute(name) #獲得屬性值 s_selected(self) #元素是否被選擇 Whether the element is selected. is_enabled() #元素是否被啟用 find_element_by_id(id_) find_elements_by_id(id_) #查找元素的id find_element_by_name(name) find_elements_by_name(name) #查找元素的name find_element_by_link_text(link_text) find_elements_by_link_text(link_text) #查找元素的鏈接文本 find_element_by_partial_link_text(link_text) find_elements_by_partial_link_text(link_text) #查找元素的鏈接的部分文本 find_element_by_tag_name(name) find_elements_by_tag_name(name) #查找元素的標(biāo)簽名 find_element_by_xpath(xpath) #查找元素的xpath find_elements_by_xpath(xpath) #查找元素內(nèi)的子元素的xpath find_element_by_class_name(name) #查找一個(gè)元素的類名 find_elements_by_class_name(name) #查找元素的類名 find_element_by_css_selector(css_selector) #查找并返回一個(gè)元素的CSS 選擇器 find_elements_by_css_selector(css_selector) #查找并返回多個(gè)元素的CSS 選擇器列表 send_keys(*value) #模擬輸入元素 |
相關(guān)文章:
輕松自動(dòng)化---selenium-webdriver(python) (五)
輕松自動(dòng)化---selenium-webdriver(python) (七)
posted on 2013-08-15 10:16 順其自然EVO 閱讀(823) 評(píng)論(0) 編輯 收藏 所屬分類: selenium and watir webdrivers 自動(dòng)化測(cè)試學(xué)習(xí)