1. 程式人生 > 其它 >web自動化08-下拉選擇框、彈出框、滾動條

web自動化08-下拉選擇框、彈出框、滾動條

1、下拉選擇框操作

  下拉框就是HTML中<select>元素;   先列需求:
需求:使用‘註冊A.html’頁面,完成對城市的下拉框的操作
1).選擇‘廣州’
2).暫停2秒,選擇‘上海’
3).暫停2秒,選擇‘北京’
  我們先來認識select類:     說明:Select類是Selenium為操作select標籤特殊封裝的。   例項化物件:     select = Select(element)     element: <select>標籤對應的元素,通過元素定位方式獲取,   例如:driver.find_element_by_id("selectA")   常用可以用什麼定位呢?  
  1.  select_by_index(index) --> 根據option索引來定位,從0開始
  2. select_by_value(value) --> 根據option屬性 value值來定位
  3. select_by_visible_text(text) --> 根據option顯示文字來定位
  Select類實現步驟分析:     1. 導包 Select類 -->     from selenium.webdriver.support.select import Select   2. 例項化Select類      select = Select(driver.find_element_by_id("selectA"))   3. 呼叫方法:          select.select_by_index(index)   我們來做一下上面需求:
from
selenium.webdriver.support.select import Select select = Select(driver.find_element_by_id("selectA")) select.select_by_index(2) # 根據索引實現 select.select_by_value("sh") # 根據value屬性實現 select.select_by_visible_text("A北京") # 根據文字內容實現
 

2、彈出框處理

  網頁中常用的彈出框有三種:             1. alert 警告框             2. confirm 確認框             3. prompt 提示框   先列需求:
需求:開啟註冊A.html頁面,完成以下操作:
1).點選 alert 按鈕 2).關閉警告框 3).輸入使用者名稱:admin
  說明:Selenium中對處理彈出框的操作,有專用的處理方法;並且處理的方法都一樣     1. 獲取彈出框物件       alert = driver.switch_to.alert   2. 呼叫       alert.text -->     返回alert/confirm/prompt中的文字資訊       alert.accept() -->   接受對話方塊選項       alert.dismiss() -->   取消對話方塊選項   我們來做一下上面需求:大家可以做一下

3、滾動條操作

 

為什麼需要滾動條呢?

  1. 在HTML頁面中,由於前端技術框架的原因,頁面元素為動態顯示,元素根據滾動條的下拉而被載入   2. 頁面註冊同意條款,需要滾動條到最底層,才能點選同意    
先提需求:開啟註冊頁面A,暫停2秒後,滾動條拉到最底層
  說明:selenium中並沒有直接提供操作滾動條的方法,但是它提供了可執行JavaScript指令碼的方法,所以我們可以通過JavaScript指令碼來達到操作滾動條的目的。   1. 設定JavaScript指令碼控制滾動條     js = "window.scrollTo(0,1000)"     (0:左邊距;1000:上邊距;單位畫素)   2. selenium呼叫執行JavaScript指令碼的方法     driver.execute_script(js)   我們來做一下上邊需求:  
# 最底層
js1 = "window.scrollTo(0,10000)"
driver.execute_script(js1)
# 最頂層
js2 = "window.scrollTo(0,0)"
driver.execute_script(js2)