zoukankan      html  css  js  c++  java
  • selenium+Python(alert 、confirm 、prompt 的处理)


    alertconfirmprompt 弹出框操作主要方法有:

    • text  返回 alert/confirm/prompt 中的文字信息
    • accept  点击确认按钮
    • dismiss 点击取消按钮,如果有的话
    • send_keys 输入值,这个 alertconfirm 没有对话框就不能用了,不然会报错。

    在实际的应用中,我们会碰到各种交互的弹窗,在上面百度搜索设置的例子中,我们用
    switch_to_alert() 处理警告框非常简单;其实,对于原生的 js alert 、confirm 以及 prompt
    都可以通过 webdriver 的 switch_to_alert()方法进行处理

    1、alert 操作

    1.先用 switch_to_alert()方法切换到 alert 弹出框上
    2.可以用 text 方法获取弹出的文本 信息
    3.accept()点击确认按钮
    4.dismiss()相当于点右上角 x,取消弹出框

    #接受警告信息
    alert = driver.switch_to_alert()
    alert.accept()
    #得到文本信息打印
    alert = driver.switch_to_alert()
    print alert.text()
    #取消对话框(如果有的话)
    alert = driver.switch_to_alert()
    alert.dismiss()
    #输入值
    alert = driver.switch_to_alert()
    alert.send_keys(“xxx”)
    

      下面以操作百度的设置为例:

    #coding=utf-8
    from selenium import webdriver
    from selenium.webdriver.common.action_chains import ActionChains
    import time
    #访问百度
    driver=webdriver.Firefox()
    driver.get("http://www.baidu.com")
    #鼠标悬停在设置上,并展示后面的操作
    link=driver.find_element_by_link_text('设置')
    ActionChains(driver).move_to_element(link).perform()
    
    driver.find_element_by_link_text("搜索设置").click()
    #保存设置
    driver.find_element_by_class_name("prefpanelgo").click()
    time.sleep(3)
    #跳转进入对话框
    alert=driver.switch_to_alert()
    # 打印警告框文字
    print alert.text()
    #接受弹出的对话框
    alert.accept()
    #alert.dismiss()相当于点右上角 x,取消弹出框
    driver.close()

    2、confirm操作

    1.先用 switch_to_alert()方法切换到 alert 弹出框上
    2.可以用 text 方法获取弹出的文本 信息
    3.accept()点击确认按钮
    4.dismiss()相当于点取消按钮或点右上角 x,取消弹出框

    3、 prompt 操作

    1.先用 switch_to_alert()方法切换到 alert 弹出框上
    2.可以用 text 方法获取弹出的文本 信息
    3.accept()点击确认按钮
    4.dismiss()相当于点右上角 x,取消弹出框
    5.send_keys()这里多个输入框,可以用 send_keys()方法输入文本内容

  • 相关阅读:
    java.lang.IllegalArgumentException: node to traverse cannot be null!
    c3p0连接池的使用
    eclipse插件
    eclipse字体颜色设置
    oracle增删改查
    resultMap / resultType
    oracle 序列 ,check约束
    JSP:一种服务器端动态页面技术的组件规范。
    js
    字体
  • 原文地址:https://www.cnblogs.com/101718qiong/p/7454079.html
Copyright © 2011-2022 走看看