zoukankan      html  css  js  c++  java
  • selenium常用操作之弹出框操作

    弹出框有两种:

    1.页面弹出框

    2.alert弹出框

    1.页面弹出框的操作

      页面弹出框是一个HTML页面的元素,只不过是由用户在页面的操作触发弹出的,所以执行这一类型的弹窗都是:

    1.执行触发操作之后,等待弹窗出现;

    2.再定位弹出框的元素并操作

    代码示例如下:

    from selenium import webdriver
    from  selenium.webdriver.support.wait import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By
    
    
    driver=webdriver.Chrome()
    driver.get("http://www.baidu.com")
    driver.maximize_window()
    #点击登录,执行触发弹出框的操作
    driver.find_element_by_xpath('//div[@id="u"]/*[@name="tj_login"]').click()
    #等待弹出框出现
    WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.ID,"TANGRAM__PSP_10__footerULoginBtn")))
    #再定位元素
    driver.find_element_by_id("TANGRAM__PSP_10__footerULoginBtn").click()
    

    2.Alert弹出框操作

    针对浏览器的弹出框我们一般使用以下方式:

    1.使用switch_to方法切换到浏览器弹出框:driver.switch_to.alert

    2.ALert类提供了一系列操作方法:

      dismiss():否

      accept():是

      text:获取弹出框的内容

      send_keys():往弹出框输入文本

    代码示例:

    #1.等待弹出框出现
    WebDriverWait(driver,10).until(EC.alert_is_present())
    #2.从HTML页面切换到alert中
    alert=driver.switch_to.alert
    #3.获取alert文本
    text=alert.text
    #3.接受或取消弹窗
    alert.accept()
    #alert.dismiss()
    

      

  • 相关阅读:
    [MacOS]修改Wifi默认共享网段
    [CentOS7]升级OpenSSL至1.1.1
    [Linux]checking for libevent support... configure: error: Unable to use libevent (libevent check failed)
    [CentOS7]team模式切换
    HDU 5416 CBR and tree
    CodeForces 374D Inna and Sequence
    HDU 5981 Guess the number
    题目清单
    HDU 5510 Bazinga
    KMP & AC自动机
  • 原文地址:https://www.cnblogs.com/123blog/p/12482322.html
Copyright © 2011-2022 走看看