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操作生成jar包 和写入jar包
    jboss配置jndi连接池
    windows 域的LDAP查询相关举例
    LDAP error Code 及解决方法
    HDU 6417
    CF1299D Around the World
    codechef Chef and The Colored Grid
    Educational Codeforces Round 82 (Rated for Div. 2)
    CF1237F Balanced Domino Placements
    CF1254E Send Tree to Charlie
  • 原文地址:https://www.cnblogs.com/wulisz/p/7737471.html
Copyright © 2011-2022 走看看