欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

python+selenium自動化測試框架中頁面操作總結

系統 1767 0

Python+selenium是當前常用的自動化測試環境之一,在自動化測試框架中,常用的是POM模型,下面是對常用的頁面操作的總結:

1、輸入框:
?

            
              from selenium import webdriver

#定位文本框
tk=driver.get_element_by_id("id")
#清空文本框
tk.clear()
#文本框中輸入內容
tk.send_keys("value")
            
          

2、下拉選擇框

a、通過select進行定位下拉框------通過代碼段定位

            
              #導入Select方法
from selenium.webdriver.support.select import Select
#通過index進行選擇
Select(driver.find_element_by_id("id")).select_by_index("index")
#通過value進行選擇
Select(driver.find_element_by_id("id")).select_by_value("value")
#通過選項文字進行選擇
Select(driver.find_element_by_id("id")).select_by_visible_text("visible_text")
            
          

b、定位非

            
              #先定位到下拉菜單
select1=driver.find_element_by_id("id")
#在對下拉菜單中的選項進行選擇
select1.find_element_by_id("id1").click()
            
          

3、取消下拉框選擇---------select提供了四種方法取消選擇

            
              deselect_by_index(index)
deselect_by_value(value)
deselect_by_visible_text(visible_text)
deselect_all()
            
          

4、單選框

            
              import webdriver

#找到單選框元素
radio_button=driver.find_element_by_id("id")
#選中單選框
radio_button.click()
#清空單選框
radio_button.clear()
#判斷某個單選框是否已被選擇,返回值為Boolean類型
radio_button.is_selected()
            
          

5、多選框-----復選框的type=checkbox,這里可以用xpath語法:.//*[@type='checkbox']

            
              #find_elements是不能直接點擊的,它是復數的,所以只能先獲取到所有的checkbox對象,然后通過for循環去一個個點擊操作
drvier.find_elements_by_xpath(".//[@type='checkbox']")


/////復選框單選
# 找到多選框元素
checkbox = driver.find_element_by_id("id");
# 點擊復選框
checkbox.click()
#清除復選框
checkbox.clear()
#判斷復選框是否被選中
checkbox.is_selected()
#判斷復選框是否可用
checkbox.is_enabled();

/////復選框多選
checkboxs = driver.find_elements_by_xpath("http://*[@type='checkbox']")
for i in checkboxs:
    i.click()
            
          

6、按鈕

            
              # 找到按鈕元素 
saveButton = driver.find_element_by_id("id")
# 點擊按鈕 
4 saveButton.click() 
# 判斷按鈕是否可用 
6 saveButton.is_enabled ()
            
          

7、彈出對話框(參考鏈接:https://www.cnblogs.com/mengyu/p/6952774.html)

a、警告消息框(alert)
  警告消息框提供了一個"確定"按鈕讓用戶關閉該消息框,并且該消息框是模式對話框,也就是說用戶必須先關閉該消息框然后才能繼續進行操作。

            
              #獲取alert對話框的按鈕,點擊按鈕,彈出alert對話框
driver.find_element_by_xpath('xpath').click()
#獲取alert對話框
alert = driver.switch_to_alert()
#添加等待時間
time.sleep(2)
#獲取警告對話框的內容
print (alert.text)  #打印警告對話框內容
#alert對話框屬于警告對話框,我們這里只能接受彈窗
alert.accept()   
            
          

b、確認消息框(confirm)

  確認消息框向用戶提示一個"是與否"問題,用戶可以根據選擇"確定"按鈕和"取消"按鈕。

            
              #獲取confirm對話框的按鈕,點擊按鈕,彈出confirm對話框
driver.find_element_by_xpath('xpath').click()
#獲取confirm對話框
dialog_box = driver.switch_to_alert()
#添加等待時間
time.sleep(2)
#獲取對話框的內容
print (dialog_box.text)  #打印警告對話框內容
#點擊【確認】顯示"您為何如此自信?"
dialog_box.accept()   #接受彈窗
print (driver.find_element_by_xpath('xpath').text)
time.sleep(2)
#再次獲取confirm對話框的按鈕,點擊按鈕,彈出confirm對話框
driver.find_element_by_xpath('xpath').click()
#再次獲取confirm對話框
dialog_box = driver.switch_to_alert()
#點擊【取消】顯示"您為何如此謙虛?"
time.sleep(2)
#點擊取消
dialog_box.dismiss() 
#關閉獲取取消對話框 
print (driver.find_element_by_xpath('xpath').text)
driver.quit()
            
          

c、提示消息對話(prompt)
  提示消息框提供了一個文本字段,用戶可以在此字段輸入一個答案來響應您的提示。該消息框有一個"確定"按鈕和一個"取消"按鈕。選擇"確認"會響應對應的提示信息,選擇"取消"會關閉對話框。

            
              #獲取prompt對話框的按鈕,點擊按鈕,彈出confirm對話框
driver.find_element_by_xpath('xpath').click()
#獲取prompt對話框
dialog_box = driver.switch_to_alert()
#添加等待時間
time.sleep(2)
#獲取對話框的內容
print (dialog_box.text)  #打印警告對話框內容
dialog_box.send_keys("2")  #彈出框內輸入2
dialog_box.accept()  #接受
print (driver.find_element_by_xpath('xpath').text)  #獲取關閉彈窗結果  #獲取確認彈窗結果
'''這里等待幾秒在測試取消'''
time.sleep(2)
#************************點擊【取消】,并且獲取顯示結果**********************
driver.find_element_by_xpath('xpath').click()
#獲取prompt對話框
dialog_box = driver.switch_to_alert()
#添加等待時間
time.sleep(2)
dialog_box.dismiss()  #關閉對話框
print (driver.find_element_by_xpath('xpath').text)  #獲取關閉彈窗結果
time.sleep(2)
driver.quit()
            
          

selenium 提供switch_to_alert()方法定位到 alert/confirm/prompt對話框。使用 text/accept/dismiss/send_keys 進行操作,這里注意的是send_keys只能對prompt進行操作。

  • switch_to_alert()   #定位彈出對話
  • text()    ? ? ? ? ? ? ? ?#獲取對話框文本值
  • accept() ? ? ? ? ? ? ? ? ? #相當于點擊"確認"
  • dismiss() ? ? ? ? ? ? ? ? ?#相當于點擊"取消"
  • send_keys() ? ? ? ? ? ? ?# 輸入值,這個alert和confirm沒有輸入對話框,所以這里就不能用了,所以這里只能使用在prompt這里。

8、表單-------提交表單

            
              driver.find_element_by_id("id").submmit()
            
          

9、上傳文件

            
              #coding=utf-8
from selenium import webdriver
import os,time
driver = webdriver.Firefox()
#腳本要與asd.html 同一目錄
file_path = os.path.abspath('需要上傳文檔的html文件的名稱')
print file_path
driver.get(file_path)
#定位上傳按鈕,添加本地文件
driver.find_element_by_xpath("html/body/div[1]/div/input").send_keys('上傳的文件的路徑')
time.sleep(2)
driver.quit()
            
          

10、鼠標懸停

            
              # 導入selenium中的actionchains的方法

from selenium.webdriver.common.action_chains import ActionChains

#識別需要懸停的元素

ele = self.driver.find_element_by_class_name('class_name')

# 鼠標移到懸停元素上

ActionChains(self.driver).move_to_element(ele).perform()
            
          

更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲精品乱码久久久久久花季 | 欧美精品第一页 | 欧美专区在线视频 | 成人欧美在线观看 | 欧美一级网站 | 国产麻豆传媒视频 | 一级黄a | 三级国产短视频在线观看 | 国产精品黄网站免费进入 | 亚洲热线99精品视频 | 欧美成人精品欧美一级 | www.99热| 亚洲成a人v在线观看 | 欧美精品一区二区三区免费播放 | 亚洲夫妻| 亚洲成人二区 | 日本精品在线 | 成人a视频在线观看 | 久久久久久久久久亚洲 | 久久影音先锋 | 久久一区二区三区四区 | 情侣av | 亚洲欧洲精品一区二区 | 91水蜜桃 | 色综合色综合网色综合 | 欧美精品一二三区 | 特黄特色大片免费视频大全 | 黑色丝袜三级在线播放 | 欧美激情 自拍 | 精品久 | av在线成人 | 日韩国产一区二区三区 | 国产精品国产三级国产aⅴ入口 | 九一免费版在线观看 | 久久视频在线视频 | 男女作爱免费网站 | 91精品一区二区三区久久久久久 | 欧美人成在线视频 | 日韩三级中文字幕 | 男女又黄又刺激B片免费网站 | 五月婷婷综合激情网 |