zoukankan      html  css  js  c++  java
  • 三种alertconfirmprompt弹窗的处理方法

    alertconfirmprompt

    前言   

    原文:https://www.cnblogs.com/zidonghua/p/7430083.html
    不是所有的弹出框都叫alert,在使用alert方法前,先要识别出到底是不是alert。先认清楚alert长什么样子,下次碰到了,就可以用对应方法解决。
    alertconfirmprompt弹出框操作主要方法有:
    text:获取文本值
    accept() :点击"确认"
    dismiss() :点击"取消"或者叉掉对话框
    send_keys() :输入文本值 --仅限于prompt,在alert和confirm上没有输入框

    一、认识alertconfirmprompt
         1.如下图,从上到下依次为alertconfirmprompt,先认清楚长什么样子,以后遇到了就知道如何操作了。

        2.html源码如下(有兴趣的可以copy出来,复制到txt文本里,后缀改成html就可以了,然后用浏览器打开):

    复制代码
    <html>  
       <head>
         <title>Alert</title>  
        </head>  
    <body>  
    <input id = "alert" value = "alert" type = "button" onclick = "alert('您关注了yoyoketang吗?');"/>  
    <input id = "confirm" value = "confirm" type = "button" onclick = "confirm('确定关注微信公众号:yoyoketang?');"/>  
    <input
    id = "prompt" value = "prompt" type = "button" onclick = "var name = 
    prompt('请输入微信公众号:','yoyoketang'); document.write(name) "/>    
    </body>   
    </html>  
    复制代码

    二、alert操作

       1.先用switch_to_alert()方法切换到alert弹出框上
        2.可以用text方法获取弹出的文本 信息
        3.accept()点击确认按钮
        4.dismiss()相当于点右上角x,取消弹出框
       (url的路径,直接复制浏览器打开的路径)

    三、confirm操作
       1.先用switch_to_alert()方法切换到alert弹出框上
        2.可以用text方法获取弹出的文本 信息
        3.accept()点击确认按钮
        4.dismiss()相当于点取消按钮或点右上角x,取消弹出框
    (url的路径,直接复制浏览器打开的路径)

    四、prompt操作
       1.先用switch_to_alert()方法切换到alert弹出框上
        2.可以用text方法获取弹出的文本 信息
        3.accept()点击确认按钮
        4.dismiss()相当于点右上角x,取消弹出框
        5.send_keys()这里多个输入框,可以用send_keys()方法输入文本内容
    (url的路径,直接复制浏览器打开的路径)

    五、select遇到的坑
        1.在操作百度设置里面,点击“保存设置”按钮时,alert弹出框没有弹出来。(Ie浏览器是可以的)
        2.分析原因:经过慢慢调试后发现,在点击"保存设置"按钮时,由于前面的select操作后,失去了焦点
        3.解决办法:在select操作后,做个click()点击操作

    s = driver.find_element_by_id("nr")
    Select(s).select_by_visible_text("每页显示20条")
    time.sleep(3)
    s.click()

     六、最终代码

    复制代码
    # coding:utf-8
    from selenium import webdriver
    from selenium.webdriver.common.action_chains import ActionChains
    from selenium.webdriver.support.select import Select
    import time
    driver = webdriver.Firefox()
    url = "https://www.baidu.com"
    driver.get(url)
    driver.implicitly_wait(20)
    # 鼠标移动到“设置”按钮
    mouse = driver.find_element_by_link_text("设置")
    ActionChains(driver).move_to_element(mouse).perform()
    driver.find_element_by_link_text("搜索设置").click()
    # 通过text:select_by_visible_text()
    s = driver.find_element_by_id("nr")
    Select(s).select_by_visible_text("每页显示20条")
    time.sleep(3)
    s.click()
    driver.find_element_by_link_text("保存设置").click()
    time.sleep(5)
    # 获取alert弹框
    t = driver.switch_to_alert()
    print t.text
    t.accept()
    复制代码

    这一篇应该比较简单,alert相关的内容比较少,虽然有一些页面也有弹窗,但不是所有的弹窗都叫alert。

    alert的弹出框界面比较简洁,调用的是Windows系统弹窗警告框,没花里胡哨的东西,还是很容易区分的。

  • 相关阅读:
    Bootstrapbutton组
    Hadoop
    图像手工画效果【QT+OpenCV】
    经常使用传感器协议1:CJ/T-188 水表协议解析1
    神经网络的初识
    用队列实现栈
    sas数据导入终极汇总-之中的一个
    SPOJ 题目705 New Distinct Substrings(后缀数组,求不同的子串个数)
    怎样选择正确的HTTP状态码
    最新最全的iOS手机支付总结
  • 原文地址:https://www.cnblogs.com/yongzhou/p/14811582.html
Copyright © 2011-2022 走看看