Selenium中三种弹框的使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Selenium中三种弹框的使用相关的知识,希望对你有一定的参考价值。
参考技术A 三种弹框: alert:用来提示confirm:用来确认
prompt:输入内容
常用的属性和方法:accept() 接受
dismiss()取消
text显示的文本
send_keys输入内容
源码:
from seleniumimport webdriver
from timeimport sleep
import os
class TestCase(object):
def __init__(self):
self.driver = webdriver.Chrome()
path = os.path.dirname(os.path.abspath(__file__))#os.path.abspath当前文件路径
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
a =self.driver.switch_to.alert
print(a.text)
sleep(2)
a.accept()
def test_confirm(self):
self.driver.find_element_by_id('confirm').click()
#切换到confirm
c =self.driver.switch_to.alert
print(c.text)
sleep(2)
#c.accept()
c.dismiss()
def test_prompt(self):
self.driver.find_element_by_id('prompt').click()
#切换到confirm
p =self.driver.switch_to.alert
print(p.text)
sleep(2)
p.send_keys('18')
p.accept()
if __name__ =='__main__':
case = TestCase()
#case.test_alert()
#case.test_confirm()
case.test_prompt()
test_alert.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<a href="javascript:alert('提示框')" id="alert">Alert</a><br>
<a href="javascript:confirm('真的要删除吗')" id="confirm">Confirm</a><br>
<a href="javascript:var age = prompt('请输入年龄');document.write(age)" id="prompt">Prompt</a><br>
</body>
</html>
JS浏览器的三种弹框:
1.alert:使用alert弹框提示信息,最后都会被转化为字符串输出(因为调用了toString这个方法)。比如alert(1+1)弹出的结果应该是字符串形式的“2”。
2.Confirm:在alert基础上增加了让用户选择性的操作(提供两个按钮:确定和取消)
比如:var delin = confirm(‘你确定要删除吗?’);
这一句,当用户点击确定按钮的时候,我们接受到的结果是true,点击的是取消按钮的时候,我们接受到的结果是false,此后我们可以根据不同的结果做不同的处理即可。
3.Prompt:在confirm的基础上增加让用户输入的效果
比如var flag = prompt(‘请输入你想反馈的意见:’);
当用户点击取消按钮,我们获取到的结果是null;如果用户点击确定按钮,我们获取到的是用户输入的内容。(如果用户没有输入任何内容,获取到的的结果是空字符串)
//但是真实的项目中,尤其是需要样式精美的网站中,我们的提示框一般都是自己封装插件和组件来实现,不会使用内置的这些方法(要使用原生JS封装模态框组件)
以上是关于Selenium中三种弹框的使用的主要内容,如果未能解决你的问题,请参考以下文章