Selenium-js彈窗浮層


學習過js的小伙伴會發現,我們在一些實例中用到了alert()方法、prompt()方法、prompt()方法,他們都是在屏幕上彈出一個對話框,並且在上面顯示括號內的內容,使用這種方法使得頁面的交互性更精彩,實際上我們經常會在進行網頁瀏覽時簡單這種類型的對話框,在用戶與應用程序進行雙向交流時,經常要用到對話框。

javascript的三種對話框是通過調用window對象的三個方法alert(),confirm()和prompt()來獲得,可以利用這些對話框來完成js的輸入和輸出,實現與用戶能進行交互的js代碼

第一種:alert警告框

  alert()方法是這三種對話框中最容易使用的一種,她可以用來簡單而明了地將alert()括號內的文本信息顯示在對話框中,我們將它稱為警示對話框,要顯示的信息放置在括號內,該對話框上包含一個“確認”按鈕,用戶閱讀完所顯示的信息后,只需單擊該按鈕就可以關閉對話框。

第二種:confirm確認框

confirm()方法與alert()方法的使用十分類似,不同點是在該種對話框上除了包含一個“確認”按鈕外,還有一個“取消”按鈕,這種對話框稱為確認對話框

第三種:prompt提示框

alert()方法和confirm()方法的使用十分類似,都是僅僅顯示已有的信息,但用戶不能輸入自己的信息,但是prompt()可以做到這點,她不但可以顯示信息,而且還提供了一個文本框要求用戶使用鍵盤輸入自己的信息,同時她還包含“確認”或“取消”兩個按鈕,如果用戶“確認”按鈕,則prompt()方法返回用戶在文本框中輸入的內容(是字符串類型)或者初始值(如果用戶沒有輸入信息);如果用戶單擊“取消”按鈕,則prompt()方法返回null,我們稱這種對話框為提示框

 

 switch_to_alert函數捕捉彈出的對話框

#! /usr/bin/env python
#coding=utf-8
from selenium import webdriver
import time

driver = webdriver.Firefox()
driver.get("xxxxxxxxxxxx")
time.sleep(3)

#alert提示框
driver.find_element_by_id("alert").click()
time.sleep(3)
#定位到這個alert彈窗上
alert = driver.switch_to_alert()
print(alert.text())
#確定
alert.accept()
#取消
#alert.dismiss()


#confrim確認框
driver.find_element_by_id("confirm").click()
time.sleep(3)
confirm = driver.switch_to_alert()
print(confirm.text)
confirm.accept()
#confirm.dismiss()

#prompt彈框
driver.find_element_by_id("prompt").click()
time.sleep(3)
prompt = driver.switch_to_alert()
prompt.send_keys("xxxxx")
time.sleep(3)
print(prompt.text)
prompt.accept()
#prompt.dismiss()


driver.quit()

 

alert()、confirm()、prompt()的區別和聯系:

警告框alert()

alert是警告框,只有一個按鈕“確定”無返回值,警告框經常用於確保用戶可以得到某些信息。當警告框出現后,用戶需要點擊確定按鈕才能繼續進行操作。語法:alert("文本")。

確認框confirm()

confirm是確認框,兩個按鈕,確定或者取消,返回true或false。確認框用於使用戶可以驗證或者接受某些信息。當確認框出現后,用戶需要點擊確定或者取消按鈕才能繼續進行操作。如果用戶點擊確認,那么返回值為 true。如果用戶點擊取消,那么返回值為 false。語法:confirm("文本")

提示框prompt()

prompt是提示框,返回輸入的消息,或者其默認值提示框經常用於提示用戶在進入頁面前輸入某個值。當提示框出現后,用戶需要輸入某個值,然后點擊確認或取消按鈕才能繼續操縱。如果用戶點擊確認,那么返回值為輸入的值。如果用戶點擊取消,那么返回值為 null。語法:prompt("文本","默認值")


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM