場景
頁面上彈出的對話框是自動化測試經常會遇到的一個問題;很多情況下對話框是一個iframe,如之前iframe介紹的例子,處理起來稍微有點麻煩;但現在很多前端框架的對話框是div 形式的,這就讓我們的處理變得十分簡單。
代碼
#!/usr/bin/env python
# -*- codinfg:utf-8 -*-
'''
@author: Jeff LEE
@file: 對話框.py
@time: 2018-09-25 9:52
@desc:
'''
from selenium import webdriver
#導入WebDriverWait
from selenium.webdriver.support.ui import WebDriverWait
import time
driver = webdriver.Firefox()
driver.get('https://www.baidu.com/')
element=driver.find_elements_by_name("tj_login")
for ele0 in element:
if ele0.is_displayed():
ele0.click()
#切換用戶名登錄方式
user_login =WebDriverWait(driver,30).until(lambda driver:driver.find_element_by_id('TANGRAM__PSP_10__footerULoginBtn') )
user_login.click()
time.sleep(2)
#輸入用戶名
driver.find_element_by_id('TANGRAM__PSP_10__userName').send_keys('123456')
time.sleep(2)
#輸入密碼
driver.find_element_by_id('TANGRAM__PSP_10__password').send_keys('123456')
time.sleep(2)
#提交
driver.find_element_by_id('TANGRAM__PSP_10__submit').submit()
time.sleep(2)
driver.quit()
備注:
定位元素可以使用等待時間的方法,上面代碼可自行修改
