1. 程式人生 > >16、Selenium + Python 實現 UI 自動化測試-其它彈窗

16、Selenium + Python 實現 UI 自動化測試-其它彈窗

事實上,由於Alert 彈窗不美觀(樣式不好修改),實際專案中大多數網頁的彈框都是開發們好心自己做的(UI 設計的)。

來看看非Alert 類的彈窗吧!

一、Windows瀏覽器視窗

1、我們點選某個連結之後可能會開啟一個新的瀏覽器視窗,注意視窗跟之前的視窗是平行關係,有自己的位址列、最大化、最小化按鈕等,這個很容易分辨。

注:(alert跟視窗是父子關係,或者叫從屬關係,alert必須依託於某一個視窗)

通過windows handle 切換視窗操作即可,例項參照 第9節內容

二、div 視窗

div偽裝對話方塊,是通過網頁元素偽裝成對話方塊,這種對話方塊一般比較花哨,內容比較多,可以使用開發者工具檢視元素內容:


from selenium import webdriver
from time import sleep

driver = webdriver.Chrome()
driver.get('http://www.baidu.com/')
driver.implicitly_wait(20)
driver.find_element_by_link_text('登入').click()
driver.find_element_by_id('TANGRAM__PSP_10__userName').send_keys('hellopython')
sleep(3)
driver.quit()

在來看一個例項,很多系統都有這種退出登入按鈕,彈框也是一個div,不是alert。按照正常的元素定位就行了,注意定位前最好等待2s。