qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          輕松自動化---selenium-webdriver(python) (六)之操作對象

          本節知識點:

          操作對象:

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

          WebElement  另一些常用方法:

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

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

           

          操作測試對象

           

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

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

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

          · click 點擊對象

          · send_keys 在對象上模擬按鍵輸入

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

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

          復制代碼
          # coding = utf-8 from selenium import webdriver  browser = 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-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號 

           

           

          submit

          提交表單

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

          復制代碼
          #coding=utf-8 from selenium import webdriver  import time  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()
          復制代碼

          這里用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 內容:

           「功能測試自動化」匯總

          posted on 2014-03-18 11:01 順其自然EVO 閱讀(260) 評論(0)  編輯  收藏 所屬分類: 自動化測試python

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 上高县| 昔阳县| 分宜县| 阿克苏市| 延寿县| 闽清县| 吉木乃县| 宜都市| 河北省| 江津市| 方山县| 深圳市| 九龙坡区| 宜君县| 枣强县| 馆陶县| 临泽县| 繁昌县| 麻城市| 正安县| 泉州市| 夏邑县| 临海市| 长治县| 米林县| 沂源县| 东乌珠穆沁旗| 图们市| 大兴区| 成武县| 阿荣旗| 比如县| 特克斯县| 桦南县| 共和县| 凤城市| 新安县| 丽江市| 宾川县| 麻栗坡县| 裕民县|