頁面上彈出的對話框是自動化測試常常會遇到的一個問題;不少狀況下對話框是一個iframe,如上一
節中介紹的例子,處理起來稍微有點麻煩;但如今不少前端框架的對話框是div 形式的,這就讓咱們的處
理變得十分簡單。前端
上圖爲百度首頁的登陸對話框,下面經過腳本對百度進行登陸操做:web
#coding=utf-8
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://www.baidu.com/")
#點擊登陸連接
driver.find_element_by_name("tj_login").click()
#經過二次定位找到用戶名輸入框
div=driver.find_element_by_class_name("tang-content").find_element_by_name("userName")
div.send_keys("username")
#輸入登陸密碼
driver.find_element_by_name("password").send_keys("password")
#點擊登陸
driver.find_element_by_id("TANGRAM__PSP_10__submit").click()
driver.quit()前端框架
本例中並無用到新方法,惟一的技巧是用到了二次定位,這個技巧在層級定位中已經有過使用。
driver.find_element_by_class_name("tang-content").find_element_by_name("userName")
第一次定位找到彈出的登陸框,在登陸框上再次進行定位找到了用戶名輸入框。框架