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("文本","默認值")
Selenium-js彈窗浮層