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()
    弹出框测试
  • 相关阅读:
    ASP.NET MVC 与 Web Forms
    去除两端margin的方法
    Media Queries之Respond.js
    ECMAScript5严格模式
    用rem设置文字大小
    BFC与hasLayout
    快速把项目部署到webLogic上
    判断一个坐标点是否在不规则多边形内部的算法
    Git 工作流的正确打开方式
    Java设计模式六大原则
  • 原文地址:https://www.cnblogs.com/wulisz/p/7737471.html
Copyright © 2011-2022 走看看