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()方法输入文本内容

  • 相关阅读:
    bootstrap表格内容垂直居中
    [转]配置mysql允许远程连接的方法
    [转]MySQL服务器上添加一个允许远程访问的用户
    [转]Vs解决方案的目录结构设置和管理
    [转]win7下apache2.4响应很慢解决方法
    [转]js中获取时间的函数集
    [转]php和html混编的三种方式
    删除elasticsearch索引脚本
    socket传数据并记录到文件中
    记一次DDos攻击--2016/12/8
  • 原文地址:https://www.cnblogs.com/101718qiong/p/7454079.html
Copyright © 2011-2022 走看看