selenium 自动化之五----弹框处理

本章节针对测试过程中,我们在实际操作中会存在一些弹出警告提示的信息框,针对这些信息框我们也需要进行验证是处理确认可操作性的正确与否
在webdriver中处理js生成的alert confirm,使用switch_to_alert()方法定位,然后使用text/accept/dismiss/send_keys方法进行操作

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
        <title></title>
    </head>
    <body>
        <div align="left">
        <h1>selenium 测试弹框处理方法</h1>
            <h2><input type="button" onclick="Alter2()" value="input1-accept 输入弹框信息"/>
                <input type="button" onclick="Alert3()" value="input2-提示获取弹窗按钮信息"/>
                <input type="button" onclick="Alert1()" value="input3-确认弹窗按钮操作"/><br><br><br></h2>
        <span id="SID"></span>
        </div>
    </body>
    <script>
        function Alert(){
            document.getElementById("SID").innerHTML="";
            if(confirm("天煞的自动化")){
                document.getElementById("SID").innerHTML="<font style='color: red;'>自动化很强大</font>";
            }else{
                document.getElementById("SID").innerHTML="<font style='color: red;'>自动化太痛苦!</font>";
            }
        }
        function Alter2(){
            document.getElementById("SID").innerHTML="";
            con = prompt("输入yes为要想狂自动化,输入no为我不自动化,但我也很强");
            if(con=="yes"){
                document.getElementById("SID").innerHTML="<font style='color: red;'>要想狂自动化</font>";
            }else if(con=="no"){
                document.getElementById("SID").innerHTML="<font style='color: red;'>我不自动化,但我也很强</font>";
            }else{
                document.getElementById("SID").innerHTML="<font style='color: red;'>请按照套路输入信息,否则列入黑名单</font>";
            }
        }
        function Alert3(){
            document.getElementById("SID").innerHTML="";
            alert("测试依然变得更加强大了,你准备好了吗?");
        }
    </script>
</html>
#第一步 导入需要的包
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time
#第二步驱动浏览器并打开网页
driver=webdriver.Chrome()
driver.implicitly_wait(10)
driver.get('file:///Users/xxx/PycharmProjects/seleniumtest/test.html')
#第三步 定位元素
'''
text=driver.find_element_by_xpath("/html/body/div/h2/input[1]").click()
alter = driver.switch_to_alert()
alter.text #返回弹框文本
alter.accept() ## 弹框之后确认
alter.dismiss()## 弹框之后取消
alter.send_keys("yes") ## 弹框输入的内容
time.sleep(2)
'''
driver.find_element_by_xpath('/html/body/div/h2/input[1]').click()
dialog_box = driver.switch_to_alert()
time.sleep(2)
dialog_box.send_keys("yes") 
dialog_box.accept()
print (driver.find_element_by_xpath('//*[@id="textSpan"]/font').text)  #获取确认弹窗结果
time.sleep(2)
driver.find_element_by_xpath('/html/body/div/h2/input[1]').click()
dialog_box = driver.switch_to_alert()
time.sleep(2)
dialog_box.dismiss()  #关闭对话框
print (driver.find_element_by_xpath('//*[@id="textSpan"]/font').text)  #获取关闭弹窗结果
time.sleep(2)
driver.quit()

待完善,后续出现特殊情况继续补充。。。。。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值