Python+Selenium 警告框处理

  • 作者:lwj
  • 分类:Selenium
  • 发表日期:2019-10-11 22:59:18
  • 阅读(623)
  • 评论(0)
switch_to_alert()           切到弹窗
text                        获取对话窗文本值
accept()                    接受弹窗
dismiss()                   取消弹窗
send_keys()                 输入值(alert和confirm没有输入对话框,所以就不用能用了,只能使用在prompt里)

html代码

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title></title>
    </head>
    <body>
        <div align="center">
        <h4>hello girl</h4>
        <input type="button" onclick="showPro()" value="输入框弹窗按钮"/>
        <input type="button" onclick="showAlert2()" value="提示弹窗按钮"/>
        <input type="button" onclick="showAlert()" value="确认弹窗按钮"/>
        <span id="textSpan"></span>
        </div>
    </body>
    <script>
        function showAlert(){
            document.getElementById("textSpan").innerHTML="";
            if(confirm("你是帅哥吗?")){
                document.getElementById("textSpan").innerHTML="<font style='color: red;'>您为何如此自信</font>";
            }else{
                document.getElementById("textSpan").innerHTML="<font style='color: red;'>您为何如此谦虚</font>";
            }
 
        }
        function showPro(){
            document.getElementById("textSpan").innerHTML="";
            con = prompt("输入1为我是帅哥,输入2为我是靓女");
            if(con==1){
                document.getElementById("textSpan").innerHTML="<font style='color: green;'>我是帅哥</font>";
            }else if(con==2){
                document.getElementById("textSpan").innerHTML="<font style='color: green;'>我是靓女</font>";
            }else{
                document.getElementById("textSpan").innerHTML="<font style='color: red;'>您没有按要求输入,请重新输入</font>";
            }
        }
        function showAlert2(){
            document.getElementById("textSpan").innerHTML="";
            alert("用我三世烟火,换你一世迷离");
        }
    </script>
</html>

alert 弹窗

弹框只允许"确认"接受提示,如图:

#!/usr/bin/python3
# coding=utf-8
 
from selenium import webdriver
from time import sleep
 
driver = webdriver.Chrome()
driver.get("Test.html")
driver.find_element_by_xpath("//input[@οnclick='showAlert2()']").click()
sleep(2)
alert = driver.switch_to_alert()     # 切换到alert弹框   
print(alert.text)                    # 获取alert弹框text
alert.accept()                       # 接受alert弹框
driver.quit()

confirm 弹窗

窗口可选择"确认"和"取消"操作,如图:

#!/usr/bin/python3
# coding=utf-8
 
from selenium import webdriver
 
driver = webdriver.Chrome()
driver.get("Test.html")
driver.find_element_by_xpath("//input[@οnclick='showAlert()']").click()
acc = driver.switch_to_alert()                  # 切换到弹窗
print(acc.text)                                 # 获取弹窗text
acc.accept()                                    # 接受弹窗报警
print(driver.find_element_by_xpath("//font[@style='color: red;']").text)
driver.get("Test.html")
driver.find_element_by_xpath("//input[@οnclick='showAlert()']").click()
dis = driver.switch_to_alert()                  # 切换到弹窗
print(dis.text)                                 # 获取弹窗text
dis.dismiss()                                   # 解除弹窗报警
print(driver.find_element_by_xpath("//font[@style='color: red;']").text)
driver.quit()

prompt 弹窗

窗口不但能进行"确认"和"取消"按钮操作,并有输入框可输入文本进行提交,如图:

#!/usr/bin/python3
# coding=utf-8
 
from selenium import webdriver
from time import sleep
 
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("Test.html")
driver.find_element_by_xpath("//input[@οnclick='showPro()']").click()
por = driver.switch_to_alert()              # 切换到pormpt弹窗
por.send_keys('1')
por.accept()                                # 输入1进行提交
sleep(1)
driver.get("Test.html")
driver.find_element_by_xpath("//input[@οnclick='showPro()']").click()
por = driver.switch_to_alert()              # 切换到pormpt弹窗   
por.dismiss()                               # 接触警告
sleep(1)
driver.quit()

 

觉得不错,支持一下!

提交评论

您尚未登录,登录之后方可评论~ 登录 or 注册

评论列表

暂无评论
返回顶部

建议反馈

1. 可在博文底部留言评论

2. 发邮件到i_suichuan@163.com