zoukankan      html  css  js  c++  java
  • Python+Selenium--alert/confirm/prompt 处理

    场景

    webdriver 中处理JavaScript 所生成的alert、confirm 以及prompt 是很简单的。具体思路是使用switch_to.alert()方法定位到alert/confirm/prompt。然后使用text/accept/dismiss/send_keys 按需进行操做。

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

    代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    @time: 2019-12-15 17:27
    @desc:
    '''
    from selenium import webdriver
    from selenium.webdriver.common.action_chains import ActionChains
    import time
     
    driver = webdriver.Firefox()
    #添加智能等待
    driver.implicitly_wait(10)
     
    driver.get('https://www.baidu.com/')
     
    #进入搜索设置页面
    elment = driver.find_element_by_link_text('设置')
    ActionChains(driver).move_to_element(elment).perform()
    driver.find_element_by_link_text('搜索设置').click()
    time.sleep(5)
     
    #修改设置
    driver.find_element_by_id('s1_2').click()
    time.sleep(5)
     
    #保存设置
    driver.find_element_by_link_text('保存设置').click()
     
    #获取网页上的警告信息
    alert=driver.switch_to_alert()
    time.sleep(5)
     
    #得到文本信息并打印
    print (alert.text)
    #接收警告信息
    alert.accept()
     
    # 取消对话框(如果有的话)
    # alert.dismiss()
    # 输入值(如果有的话)
    # alert.send_keys('XXX')
     
    driver.quit()
  • 相关阅读:
    演示使用string对象(续)
    P2216 [HAOI2007]理想的正方形 单调队列
    SP1805 HISTOGRA
    P4556 [Vani有约会]雨天的尾巴 树链剖分 线段树合并
    codeforces 600E 线段树合并
    HDU2197 本原串
    P3806 【模板】点分治1
    牛客10 Popping Balloons
    P3261 [JLOI2015]城池攻占 左偏树
    P4549 【模板】裴蜀定理
  • 原文地址:https://www.cnblogs.com/chenlimei/p/12781220.html
Copyright © 2011-2022 走看看