qileilove

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

          輕松自動化---selenium-webdriver(python) (十)

          本節重點

            處理下拉框

            switch_to_alert()

            accept()

            下拉框是我們最常見的一種頁面元素,對于一般的元素,我們只需要一次就定位,但下拉框里的內容需要進行兩次定位,先定位到下拉框,再定位到下拉框內里的選項。

            drop_down.html

          <html>

          <body>

          <select id="ShippingMethod" onchange="updateShipping(options[selectedIndex]);" name="ShippingMethod">

          <option value="12.51">UPS Next Day Air ==> $12.51</option>

          <option value="11.61">UPS Next Day Air Saver ==> $11.61</option>

          <option value="10.69">UPS 3 Day Select ==> $10.69</option>

          <option value="9.03">UPS 2nd Day Air ==> $9.03</option>

          <option value="8.34">UPS Ground ==> $8.34</option>

          <option value="9.25">USPS Priority Mail Insured ==> $9.25</option>

          <option value="7.45">USPS Priority Mail ==> $7.45</option>

          <option value="3.20" selected="">USPS First Class ==> $3.20</option>

          </select>

          </body>

          </html>

            將上面的代碼保存成html通過瀏覽器打開會看到一個最簡單常見的下拉框,下拉列表有幾個選項。

            現在我們來選擇下拉列表里的$10.69

          #-*-coding=utf-8

          from selenium import webdriver

          import os,time

          driver= webdriver.Firefox()

          file_path =  'file:///' + os.path.abspath('drop_down.html')

          driver.get(file_path)

          time.sleep(2)

          m=driver.find_element_by_id("ShippingMethod")

          m.find_element_by_xpath("http://option[@value='10.69']").click()

          time.sleep(3)

          driver.quit()


           解析:

            這里可能和之前的操作有所不同,首先要定位到下拉框的元素,然后選擇下拉列表中的選項進行點擊操作。

            m=driver.find_element_by_id("ShippingMethod")

            m.find_element_by_xpath("http://option[@value='10.69']").click()

            百度搜索設置下拉框操作

          #-*-coding=utf-8

          from selenium import webdriver

          import os,time

          driver= webdriver.Firefox()

          driver.get(http://www.baidu.com)


          #進入搜索設置頁

          driver.find_element_by_link_text("搜索設置").click()


          #設置每頁搜索結果為100條

          m=driver.find_element_by_name("NR")

          m.find_element_by_xpath("http://option[@value='100']").click()

          time.sleep(2)


          #保存設置的信息

          driver.find_element_by_xpath("http://input[@value='保存設置']").click()

          time.sleep(2)

          driver.switch_to_alert().accept()

           

          #跳轉到百度首頁后,進行搜索表(一頁應該顯示100條結果)

          driver.find_element_by_id("kw").send_keys("selenium")

          driver.find_element_by_id("su").click()

          time.sleep(3)

          driver.quit()

            解析:

            當我們在保存百度的設置時會會彈出一個確定按鈕;我們并沒按照常規的方法去定位彈窗上的“確定”按鈕,而是使用:

            driver.switch_to_alert().accept()

            完成了操作,這是因為彈窗比較是一個具有唯一性的警告信息,所以可以用這種簡便的方法處理。

            –  switch_to_alert()

            焦點集中到頁面上的一個警告(提示)

            – accept()

            接受警告提示

          相關文章:

          輕松自動化---selenium-webdriver(python) (九)

          輕松自動化---selenium-webdriver(python) (十一)

          posted on 2013-09-06 10:50 順其自然EVO 閱讀(601) 評論(0)  編輯  收藏 所屬分類: selenium and watir webdrivers 自動化測試學習

          <2013年9月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 望谟县| 隆子县| 凭祥市| 扎兰屯市| 常熟市| 溧阳市| 益阳市| 通州市| 温州市| 洱源县| 若尔盖县| 磐石市| 武宁县| 铅山县| 三门县| 永定县| 抚州市| 永吉县| 台中县| 大厂| 开阳县| 平舆县| 乌拉特前旗| 凉山| 苏尼特左旗| 昌图县| 峨山| 永德县| 翼城县| 板桥市| 桂阳县| 抚宁县| 正阳县| 开江县| 察哈| 敦煌市| 东乡| 昌吉市| 海晏县| 大姚县| 汉寿县|