如果你還想從頭學起Selenium,可以看看這個系列的文章哦!
https://www.cnblogs.com/poloyy/category/1680176.html
其次,如果你不懂前端基礎知識,需要自己去補充哦,博主暫時沒有總結(雖然我也會,所以我學selenium就不用復習前端了哈哈哈...)
首先,將下面html代碼保存到一個文件中
后續的代碼小案例都是訪問此html的
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>警告框處理</title> <script type="text/javascript"> function duihua() { alert("這個窗口是對話框!"); print('你點擊了確認'); } function queren() { var se = confirm("確認框!"); if (se == true) { print('你點擊了確認1'); } else { print('你點擊了取消1'); } } function tishi() { var se = prompt("請輸入您的反饋意見", "測試") if (se != null) { print('你點擊了確認2'); } else { print('你點擊了取消2'); } // if (t != null && t != "") { // document.write("刷新回到初始界面") // } } function print(text) { var dom = document.createElement('div') dom.innerText = text document.getElementsByTagName('body')[0].appendChild(dom) } </script> </head> <body> <input id="bu1" type="button" onclick="duihua()" value="點擊顯示對話框"/> <br> <br> <input id="bu2" type="button" onclick="queren()" value="點擊顯示確認框"/> <br> <br> <input id="bu3" type="button" onclick="tishi()" value="點擊顯示提示框"/> </body> </html>
alert窗口的類型
- 警告框
- 確認框
- 對話框
警告框
確認框

對話框

操作alert窗口
- 切換至alert窗口
- 獲取alert窗口的值
- 確定
- 取消
- 輸入值
警告框的栗子
# !/usr/bin/env python # -*- coding: utf-8 -*- """ __title__ = __Time__ = 2020/3/25 17:52 __Author__ = 小菠蘿測試筆記 __Blog__ = https://www.cnblogs.com/poloyy/ """ from selenium import webdriver driver = webdriver.Chrome("../resources/chromedriver.exe") # html文件路徑需要自己替換哦 driver.get("file:///C:/警告框.html") driver.maximize_window() # 警告框 alert1 = driver.find_element_by_id("bu1") # 先點擊,得先彈出警告框 alert1.click() # 切換至警告框 alert1 = driver.switch_to.alert # 獲取alert窗口的值 print(alert1.text) # 點擊 確定 alert1.accept()
確認框的栗子
alert2 = driver.find_element_by_id("bu2") alert2.click() # 切換至對話框 alert2_ = driver.switch_to.alert # 獲取窗口值 print(alert2_.text) # 點擊 取消 alert2_.dismiss() # 點擊 確認 # alert2_.accept()
對話框的栗子
alert3 = driver.find_element_by_id("bu3") alert3.click() # 切換至對話框 alert3_ = driver.switch_to.alert # 獲取窗口值 print(alert3_.text) # 輸入值到對話框中 alert3_.send_keys("輸入對話框") # 點擊 確認 alert2_.accept()
switch_to.alert源碼解讀
@property def alert(self): """ Switches focus to an alert on the page. :Usage: alert = driver.switch_to.alert """ alert = Alert(self._driver) alert.text return alert
知識點
- alert是一個屬性,不是一個方法
- 最終返回一個 Alert 實例,所以我們需要有變量去接住它,后續通過這個變量去操作alert窗口
- 操作alert窗口的方法都 Alert 的方法

