<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經(jīng)轉(zhuǎn)移至github,大家請訪問 http://qaseven.github.io/

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

    本節(jié)知識點(diǎn):

    操作對象:

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

    WebElement  另一些常用方法:

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

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

     

    操作測試對象

     

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

    鼠標(biāo)點(diǎn)擊呢還是鍵盤輸入,這要取決于我們定位的是按鈕還輸入框。

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

    · click 點(diǎn)擊對象

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

    · clear 清除對象的內(nèi)容,如果可以的話

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

    復(fù)制代碼
    # 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()
    復(fù)制代碼

    send_keys("XX")   用于在一個輸入框里輸入內(nèi)容。

    click()   用于點(diǎn)擊一個按鈕。

    clear()   用于清除輸入框的內(nèi)容,比如百度輸入框里默認(rèn)有個“請輸入關(guān)鍵字”的信息,再比如我們的登陸框一般默認(rèn)會有“賬號”“密碼”這樣的默認(rèn)信息。clear可以幫助我們清除這些信息。

     

     

    WebElement  另一些常用方法:

     

    · text  獲取該元素的文本

    · submit  提交表單

    · get_attribute  獲得屬性值

     

    text  

    用于獲取元素的文本信息

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

    復(fù)制代碼
    #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()
    復(fù)制代碼

    輸出:

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

     

     

    submit

    提交表單

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

    復(fù)制代碼
    #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()
    復(fù)制代碼

    這里用submit 與click的效果一樣,我暫時還沒想到只能用submit 不能用click的場景。他們之間到底有啥區(qū)別,知道的同學(xué)請留言告訴我。

     

    get_attribute

    獲得屬性值。

    這個函數(shù)的用法前面已經(jīng)有出現(xiàn)過,在定位一組元素的時候有使用到它,只是我們沒有做過多的解釋。

    一般用法:

    復(fù)制代碼
    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()
    復(fù)制代碼

    具體應(yīng)用參考:

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

     

    小結(jié):

    學(xué)到這里我們是不是已經(jīng)撐握了不少知識,簡單的操作瀏覽器,定位元素,操作元素以及打印一些信息。其實,我們前面的學(xué)習(xí)中大多使用的是WebElement 里的方法。

     

    WebElement的方法:

     

    一般來說,所有有趣的操作與頁面進(jìn)行交互的有趣的操作,都通過 WebElement 完成

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

    這個類代表HTML頁面元素

     

    復(fù)制代碼
    id_  #當(dāng)前元素的ID     tag_name  #獲取元素標(biāo)簽名的屬性     text  #獲取該元素的文本。     click()  #單擊(點(diǎn)擊)元素     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)  #查找元素的標(biāo)簽名     find_element_by_xpath(xpath)  #查找元素的xpath     find_elements_by_xpath(xpath)  #查找元素內(nèi)的子元素的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)  #模擬輸入元素
    復(fù)制代碼

     

     

     

     

     

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

    學(xué)習(xí)更多selenium 內(nèi)容:

     「功能測試自動化」匯總

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

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導(dǎo)航

    統(tǒng)計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产v片免费播放| 成年人网站在线免费观看| 18禁免费无码无遮挡不卡网站| 性生交片免费无码看人| 免费a级毛片永久免费| 超清首页国产亚洲丝袜| 亚洲视频在线观看| 亚洲色欲色欲www在线播放| 五月婷婷免费视频| 免费国产黄网站在线观看| 四虎成人免费大片在线| 久久久久亚洲AV无码专区桃色| 亚洲一区二区三区首页| 亚洲欧美成人av在线观看| 久久久受www免费人成| 亚洲成人免费网站| mm1313亚洲精品无码又大又粗| 亚洲AV无码国产丝袜在线观看| 亚洲成A人片在线播放器| 亚欧洲精品在线视频免费观看| 免费国产黄网站在线观看可以下载| 在线免费不卡视频| 亚洲av午夜福利精品一区| 亚洲一区二区三区写真| 九九99热免费最新版| 两个人的视频高清在线观看免费| 亚洲日韩中文字幕日韩在线| 亚洲国产成人精品无码区在线秒播 | 无码人妻AV免费一区二区三区 | 日韩精品无码区免费专区| 亚洲精品tv久久久久| 亚洲婷婷综合色高清在线| 九九全国免费视频| 成视频年人黄网站免费视频| 中文字幕在亚洲第一在线| 亚洲首页国产精品丝袜| 99久久精品毛片免费播放| 免费看大黄高清网站视频在线| 亚洲AV日韩精品久久久久久| 国产成人亚洲毛片| 亚洲高清中文字幕免费|