輕鬆自動化---selenium-webdriver(python) (六)

來源:互聯網
上載者:User

標籤:tcl   一般來說   python   led   部分   資訊   解釋   partial   百度首頁   

 http://www.testclass.net/  測試教程網,專業的selenium 學習網站。

本節知識點:

操作對象:

  • · click 點擊對象
  • · send_keys 在對象上類比按鍵輸入
  • · clear 清除對象的內容,如果可以的話

WebElement  另一些常用方法:

  • · text  擷取該元素的文本
  • · submit  提交表單
  • · get_attribute  獲得屬性值

======================================

 

操作測試對象

 

前面講到了不少知識都是定位元素,定位只是第一步,定位之後需要對這個原素進行操作。

滑鼠點擊呢還是鍵盤輸入,這要取決於我們定位的是按鈕還輸入框。

一般來說,webdriver中比較常用的操作對象的方法有下面幾個

· click 點擊對象

· send_keys 在對象上類比按鍵輸入

· clear 清除對象的內容,如果可以的話

在我們本系列開篇的第一個例子裡就用到了到click 和send_skys ,別翻回去找了,我再貼一下代碼:

# coding = utf-8from selenium import webdriverbrowser = webdriver.Firefox()browser.get("http://www.baidu.com")browser.find_element_by_id("kw").clear()browser.find_element_by_id("kw").send_keys("selenium")browser.find_element_by_id("su").click()browser.quit()

send_keys("XX")   用於在一個輸入框裡輸入內容。

click()   用於點擊一個按鈕。

clear()   用於清除輸入框的內容,比如百度輸入框裡預設有個“請輸入關鍵字”的資訊,再比如我們的登陸框一般預設會有“帳號”“密碼”這樣的預設資訊。clear可以協助我們清除這些資訊。

 

 

WebElement  另一些常用方法:

 

· text  擷取該元素的文本

· submit  提交表單

· get_attribute  獲得屬性值

 

text  

用於擷取元素的文本資訊

下面把百度首頁底部的聲明列印輸出

#coding=utf-8from selenium import webdriverimport  timedriver = webdriver.Firefox()driver.get("http://www.baidu.com")time.sleep(2)#id = cp 元素的文本資訊data=driver.find_element_by_id("cp").textprint data   #列印資訊time.sleep(3)driver.quit()

輸出:

>>> ?2013 Baidu 使用百度前必讀 京ICP證030173號 

 

 

submit

提交表單

我們把“百度一下”的操作從click 換成submit :

#coding=utf-8from selenium import webdriverimport timedriver = 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()

這裡用submit 與click的效果一樣,我暫時還沒想到只能用submit 不能用click的情境。他們之間到底有啥區別,知道的同學請留言告訴我。

 

get_attribute

獲得屬性值。

這個函數的用法前面已經有出現過,在定位一組元素的時候有使用到它,只是我們沒有做過多的解釋。

一般用法:

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()

具體應用參考:

定位一組元素:http://www.cnblogs.com/fnng/p/3190966.html

 

小結:

學到這裡我們是不是已經撐握了不少知識,簡單的操作瀏覽器,定位元素,操作元素以及列印一些資訊。其實,我們前面的學習中大多使用的是WebElement 裡的方法。

 

WebElement的方法:

 

一般來說,所有有趣的操作與頁面進行互動的有趣的操作,都通過 WebElement 完成

classselenium.webdriver.remote.webelement.WebElement(parent, id_)

這個類代表HTML頁面元素

 

id_#當前元素的ID tag_name#擷取元素標籤名的屬性 text#擷取該元素的文本。 click()#單擊(點擊)元素 submit()#提交表單 clear()#清除一個文本輸入元素的文本 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)#尋找元素的標籤名 find_element_by_xpath(xpath)#尋找元素的xpath find_elements_by_xpath(xpath)#尋找元素內的子項目的xpath find_element_by_class_name(name)#尋找一個元素的類名 find_elements_by_class_name(name)#尋找元素的類名 find_element_by_css_selector(css_selector)#尋找並返回一個元素的CSS 選取器 find_elements_by_css_selector(css_selector)#尋找並返回多個元素的CSS 選取器列表 send_keys(*value)#類比輸入元素

 

 

 

 

 

--------------------------

學習更多selenium 內容:

 「功能測試自動化」匯總

輕鬆自動化---selenium-webdriver(python) (六)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.