前言
一直想学习自动化测试,但是都没行动,业余时间学习零零碎碎并记录20210414
【Selenium核心技术篇】包含以下内容:
- Selenium实现元素定位(8种)
- Selenium WebDriver
- Selenium WebElement
- Selenium操作from表单
- Selenium操作checkbox和radiobutton
- Selenium操作下拉列表
- Selenium处理弹框
- Selenium三种等待方式
- Selenium等待条件
- Selenium鼠标和键盘事件
- Selenium执行JavaScript脚本
- Selenium屏幕截图
- Selenium之frame的切入和切出
Selenium的3种页面弹窗:提示Alert、确认Confirm、输入内容prompt
弹出框操作主要方法有:
text:获取文本值
accept() :点击"确认"
dismiss() :点击"取消"或者叉掉对话框
send_keys() :输入文本值 --仅限于prompt,在alert和confirm上没有输入框
1、alert
1.先用switch_to_alert()方法切换到alert弹出框上
2.可以用text方法获取弹出的文本 信息
3.accept()点击确认按钮
4.dismiss()相当于点右上角x,取消弹出框
2、confirm
1.先用switch_to_alert()方法切换到alert弹出框上
2.可以用text方法获取弹出的文本 信息
3.accept()点击确认按钮
4.dismiss()相当于点右上角x,取消弹出框
5.send_keys()这里多个输入框,可以用send_keys()方法输入文本内容
3、prompt
1.先用switch_to_alert()方法切换到alert弹出框上
2.可以用text方法获取弹出的文本 信息
3.accept()点击确认按钮
4.dismiss()相当于点右上角x,取消弹出框
5.send_keys()这里多个输入框,可以用send_keys()方法输入文本内容
实操
1、自己新增一个html(本地页面),命名为:test_alert.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<a href="javascript:alert('提示框')" id="alert">test_Alert</a><br>
<a href="javascript:confirm('确认框,如:真的要删除数据吗?')" id="confirm">test_Confirm</a><br>
<a href="javascript:var why = prompt('输入内容框,如:请输入理由?');document.write(why) " id="prompt">test_Prompt</a><br>
</body>
</html>
2、接着,弹窗处理:提示Alert、确认Confirm、输入prompt
from selenium import webdriver
from time import sleep
import os
class testcase(object):
def __init__(self):
self.driver = webdriver.Chrome()
# 获取当前文件绝对路径地址
path = os.path.dirname(os.path.abspath(__file__))
# print(path)
# 拼接地址
file_path = 'file:///'+ path +'/test_alert.html'
self.driver.get(file_path)
# 用于提示
def test_Alert(self):
# 定位元素
self.driver.find_element_by_id('alert').click()
# 切换到alert
alert = self.driver.switch_to.alert
print(alert.text) #打印alert内容
sleep(3)
alert.accept() #相当于点击确认按钮
# 用于确认
def test_Confirm(self):
# 定位元素
self.driver.find_element_by_id('confirm').click()
# 切换到alert
confirm = self.driver.switch_to.alert
print(confirm.text) #打印alert内容
sleep(3)
confirm.accept() #相当于点击确认按钮
# confirm.dismiss() #相当于点击取消按钮
# 用于输入内容
def test_prompt(self):
# 定位元素
self.driver.find_element_by_id('prompt').click()
# 切换到alert
prompt = self.driver.switch_to.alert
print(prompt.text) # 打印alert内容
# 输入文本
prompt.send_keys('哈哈哈,不告诉你!')
sleep(3)
prompt.accept() # 相当于点击确认按钮
sleep(3)
# confirm.dismiss() #相当于点击取消按钮
if __name__ == '__main__':
case = testcase()
# case.test_Alert()
# case.test_Confirm()
case.test_prompt()
# case.driver.quit()