zoukankan      html  css  js  c++  java
  • selenium_Alert

    网页测试,最避免不了的就是弹出框,但是弹出框你真的分的清吗?

    • Alert
    • prompt
    • comfirm

    先来认识一下这三个弹窗

    代码如下

    <input id="alert" onclick="alert('这是一个alert')" type="button" value="alert" /> 
    <input id="confirm" onclick="confirm('确定?');" type="button" value="confirm" />
    <input id="prompt" onclick="var name = prompt('请输入你的名字:','请输入你的名字'); document.write(name) " type="button" value="prompt" />

    OK,下面来看看如何处理他们

    1.导入包,和导入ActionChains类似

    from selenium.webdriver.common.alert import Alert

    2.四种操作

    • alert.text                                获取弹出框的文本
    • alert.dismiss()          拒绝警告框,点击取消或者右上角X关闭
    • alert.accept()                        接受警告框,点击确定
    • alert.send_keys(value)         模拟输入,向prompt的文本框输入字符

    3.实战

     1 from selenium import webdriver
     2 from selenium.webdriver.common.alert import Alert
     3 import time
     4 
     5 driver=webdriver.Firefox()
     6 driver.get("File://E:/python/alert/alert.html")
     7 time.sleep(2)
     8 pop=Alert(driver)     #和ActionChains一样,需要初始化alert的驱动
     9 
    10 #Alert
    11 driver.find_element_by_id("alert").click()
    12 print("alert",pop.text)       #获得alert弹框的内容
    13 time.sleep(1)
    14 pop.accept()                   #点击确定
    15 
    16 '''
    17 权限验证
    18 有时在弹出框内需要验证我们的权限,即输入账号密码
    19 可以使用authenticate(username, password)的方法
    20 '''
    21 
    22 #confirm
    23 time.sleep(2)
    24 confirm=driver.find_element_by_id("confirm")
    25 confirm.click()
    26 print("confirm accept",pop.text)       #获得alert弹框的内容
    27 pop.accept()                             #点击确定
    28 time.sleep(2)
    29 
    30 confirm.click()
    31 time.sleep(2)
    32 print("confirm dismiss",pop.text)
    33 pop.dismiss()                             #点击取消
    34 time.sleep(2)
    35 
    36 #prompt
    37 driver.find_element_by_id("prompt").click()
    38 print("prompt",pop.text)       #获得alert弹框的内容
    39 pop.send_keys("lalala")         #输入文字
    40 time.sleep(3)
    41 pop.accept()
    42 
    43 driver.close()
    弹出框测试
  • 相关阅读:
    集合
    Java异常处理机制
    LEACH分簇算法实现和能量控制算法实现
    利用MATLAB仿真最小发射功率下WSN的连通性和覆盖率
    利用MATLAB仿真节点个数和节点通信半径与网络连通率的关系
    STM32液晶显示HT1621驱动原理及程序代码
    LMC7660即-5V产生电路
    LM431精密+3.3V产生电路
    锂电池充电电路、锂电池充电保护电路
    AMS1117降压电路
  • 原文地址:https://www.cnblogs.com/wulisz/p/7737471.html
Copyright © 2011-2022 走看看