qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問(wèn) http://qaseven.github.io/

          輕松自動(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
          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")   用于在一個(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
          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號(hào)

            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)
          #通過(guò)submit() 來(lái)操作
          driver.find_element_by_id("su").submit() 

          time.sleep(3)
          driver.quit()

            這里用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í)

          <2013年8月>
          28293031123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 重庆市| 青岛市| 卢龙县| 南城县| 合肥市| 安远县| 胶南市| 达孜县| 尼玛县| 舟曲县| 长宁区| 新乡县| 巴塘县| 白银市| 广州市| 金阳县| 南溪县| 兴业县| 甘孜县| 阳江市| 东方市| 新化县| 汉川市| 慈溪市| 屏东县| 平江县| 哈尔滨市| 金秀| 日土县| 砀山县| 日喀则市| 嫩江县| 新源县| 雷州市| 枣强县| 安徽省| 沾化县| 宁南县| 定结县| 工布江达县| 廉江市|