1、Alert类对弹出框的处理,主要是对alert警告框,Confirm确认框,prompt消息对话框,它里面的方法为:
text():获取alert的文本
dismiss():点击取消
sccept():接受
send_keys():输入
2、弹出警告框(alert)
from selenium import webdriver
from selenium.webdriver.common.alert import Alert
import time as t
driver=webdriver.Chrome()
driver.maximize_window()
driver.get('http://localhost:63342/untitled/UI%E8%87%AA%E5%8A%A8%E5%8C%96/alert.html')
#获取alert警告框的文本信息
print('获取alert的文本信息:',driver.switch_to.alert.text)
t.sleep(3)
#点击确定的按钮
driver.switch_to.alert.accept()
t.sleep(3)
driver.quit()

3、确认、取消框实战
HTML代码
<html>
<head>
<script type="text/javascript">
function disp_confirm()
{
var r=confirm("Press a button")
if (r==true)
{
document.write("You pressed OK!")
}
else
{
document.write("You pressed Cancel!")
}
}
</script>
</head>
<body>
<input type="button" onclick="disp_confirm()"
value="Display a confirm box" />
</body>
</html>

执行代码:
from selenium import webdriver
from selenium.webdriver.common.alert import Alert
import time as t
"""确认框""" driver=webdriver.Chrome() driver.maximize_window() driver.get('file:///C:/Users/Administrator.lwp-PC/Desktop/alert%E5%BC%B9%E5%87%BA%E7%A1%AE%E8%AE%A4%E6%A1%86%E6%93%8D%E4%BD%9C.html') # #点击按钮 driver.find_element_by_xpath('/html/body/input').click() # #点击确认按钮 driver.switch_to.alert.accept() t.sleep(5) driver.refresh() t.sleep(3) driver.find_element_by_xpath('/html/body/input').click() #点击取消按钮 driver.switch_to.alert.dismiss() t.sleep(3) driver.quit()
4、输入框实战
HTML代码
<html>
<head>
<script type="text/javascript">
function disp_prompt()
{
var name=prompt("Please enter your name","")
if (name!=null && name!="")
{
document.write("Hello " + name)
}
}
</script>
</head>
<body>
<input type="button" onclick="disp_prompt()"
value="Display a prompt box" />
</body>
</html>

执行代码:
from selenium import webdriver
from selenium.webdriver.common.alert import Alert
import time as t
"""弹出输入框实战""" driver=webdriver.Chrome() driver.maximize_window() driver.get('http://localhost:63342/untitled/UI%E8%87%AA%E5%8A%A8%E5%8C%96/alert.html') #点击按钮 driver.find_element_by_xpath('/html/body/input').click() #弹出输入框里面的内容 driver.switch_to.alert.send_keys("火山熔岩") t.sleep(4) driver.switch_to.alert.dismiss() t.sleep(3) #点击按钮 driver.find_element_by_xpath('/html/body/input').click() driver.switch_to.alert.send_keys("火山熔岩") t.sleep(5) #点击确定 driver.switch_to.alert.accept() t.sleep(4) driver.quit()
5、sina邮箱发送邮件实战
from selenium import webdriver
from selenium.webdriver.common.alert import Alert
import time as t
"""sina邮箱实战"""
# driver=webdriver.Chrome()
# driver.maximize_window()
# driver.get('https://mail.sina.com.cn/')
# #输入用户名
# driver.find_element_by_id('freename').send_keys('wuya1303@sina.com')
# t.sleep(3)
# #输入密码
# driver.find_element_by_id('freepassword').send_keys('admin123')
# t.sleep(3)
# #点击登陆
# driver.find_element_by_class_name('loginBtn').click()
# t.sleep(3)
# #获取nick
# nick=driver.find_element_by_xpath('//*[@id="greeting"]/span').text
# print(nick)
# assert nick=='test'
# t.sleep(3)
# #点击写信按钮
# driver.find_element_by_xpath('//*[@id="coreBtn"]/ul/li[1]/a').click()
# t.sleep(3)
# #输入收件人
# inputText=driver.find_element_by_xpath('//*[@id="tr_to"]/td/ul/li/input')
# inputText.send_keys('2327829391@qq.com')
# assert inputText.get_attribute('value')=='2327829391@qq.com'
# driver.find_element_by_xpath('//*[@id="panel_left"]/form/div/table/tbody/tr[6]/td/input').send_keys('我的世界')
# t.sleep(3)
# #进入到iframe
# # driver.switch_to.frame(0)
# # t.sleep(3)
# #发送邮件
# driver.find_element_by_xpath('//*[@id="panel_main"]/div[1]/span/span[1]/a/i[1]').click()
# t.sleep(3)
6、sina邮箱测试点梳理和验证
1、错误信息验证
2、超链接验证
from selenium import webdriver
from selenium.webdriver.common.alert import Alert
import time as t
driver=webdriver.Chrome()
driver.maximize_window()
driver.get('https://mail.sina.com.cn/')
"""验证用户名和密码都为空的错误信息"""
# driver.find_element_by_link_text('登录').click()
# errorText=driver.find_element_by_xpath('/html/body/div[3]/div/div[2]/div/div/div[4]/div[1]/div[1]/div[7]/div[1]/a[1]')
# #验证为空的错误信息
# assert errorText.text=='请输入邮箱名'
# t.sleep(3)
"""验证密码为空的错误信息"""
# driver.find_element_by_id('freename').send_keys('2327829391@qq.com')
# t.sleep(2)
# driver.find_element_by_link_text('登录').click()
# t.sleep(2)
# errorText=driver.find_element_by_xpath('/html/body/div[3]/div/div[2]/div/div/div[4]/div[1]/div[1]/div[7]/div[1]/a[1]')
# #验证为空的错误信息
# assert errorText.text=='请输入密码'
# t.sleep(2)
"""验证密码错误"""
driver.find_element_by_id('freename').send_keys('wuya1303@sina.com')
t.sleep(2)
driver.find_element_by_id('freepassword').send_keys('123')
t.sleep(3)
driver.find_element_by_link_text('登录').click()
t.sleep(2)
errorText=driver.find_element_by_xpath('/html/body/div[3]/div/div[2]/div/div/div[4]/div[1]/div[1]/div[7]/div[1]/a[1]')
#验证为空的错误信息
assert errorText.text=='登录名或密码错误'
t.sleep(2)
driver.quit()
7、测试忘记密码窗口(多窗口的切换)
from selenium import webdriver
from selenium.webdriver.common.alert import Alert
import time as t
driver=webdriver.Chrome()
driver.maximize_window()
driver.get('https://mail.sina.com.cn/')
nowHandler=driver.current_window_handle
#点击忘记密码
driver.find_element_by_link_text('忘记密码?').click()
t.sleep(4)
allHandler=driver.window_handles
for handler in allHandler:
if handler!=nowHandler:
driver.switch_to.window(handler)
url=driver.current_url
print(url.endswith('entry=freemail'))
assert url.endswith('entry=freemail')==True
driver.close()
driver.switch_to.window(nowHandler)
t.sleep(5)
driver.quit()
浙公网安备 33010602011771号