zoukankan      html  css  js  c++  java
  • selenium——iframe切换、alert弹框切换、窗口切换

    1、iframe切换

    切换到对应的iframe标签中可以进行定位

    切换方法:driver.switch_to.frame
    driver.switch_to.frame(名称)
    driver.switch_to.frame(索引)
    driver.switch_to.frame(elements节点)

    driver = webdriver.Chrome()
    
    
    
    driver.get('https://mail.qq.com/')
    
    time.sleep(2)
    
    # 方式一:切换iframe:通过iframe的名字(name属性)进行切换
    driver.switch_to.frame('login_frame')
    driver.find_element_by_xpath("//a[text()='帐号密码登录']").click()
    
    # 方式二:通过索引去切换iframe标签
    time.sleep(2)
    driver.switch_to.frame(0)
    
    driver.find_element_by_xpath('//div[@id="wxLoginTab"]').click()
    driver.find_element_by_xpath('//p[@id="auto_login"]/a').click()
    
    
    # 方式三:通过element节点去进行切换
    ele_iframe = driver.find_element_by_xpath('//iframe[@id="login_frame"]')
    driver.switch_to.frame(ele_iframe)
    driver.find_element_by_xpath("//a[text()='帐号密码登录']").click()

    # 方式四:使用显示等待的方式,等待iframe处于可以的状态,然后切换进行
    WebDriverWait(driver, 20, 1).until(
        EC.frame_to_be_available_and_switch_to_it((By.XPATH, '//iframe[@id="login_frame"]'))
    )
    driver.find_element_by_xpath("//a[text()='帐号密码登录']").click()
    
    #  关于iframe切换回 默认的HTML页面
    driver.switch_to.default_content()
    
    # 切换回父级的iframe中
    driver.switch_to.parent_frame()

    2、alert弹框切换

    # 关于alert弹框的切换
    alert = driver.switch_to.alert
    # 点击确认
    alert.accept()
    # 点击取消
    alert.dismiss()
    # 输入内容
    alert.send_keys("python34567890")

    3、窗口切换

    获取所有窗口的句柄

    ws = driver.window_handles

    print(ws)

    切换窗口的方法(窗口名),-1表示最新打开的窗口,1表示第一个窗口,2,3以此类推
    driver.switch_to.window(ws[-1])

    # 等待新窗口打开
    ws = driver.window_handles
    WebDriverWait(driver,5,0.5).until(EC.new_window_is_opened(ws)

  • 相关阅读:
    Manjaro配置攻略
    Manjaro蓝牙连接问题
    清除所有分区的根目录下的存在隐藏对系统不利的代码的文件
    取消默认磁盘共享
    高手必读 网络端口安全防护技巧放送
    批处理设置虚拟内存
    批处理方式修改IP地址和电脑名
    c++的基本知识
    Windows线程同步与互斥技术总结
    批处理方式设置XP系统的服务程序
  • 原文地址:https://www.cnblogs.com/erchun/p/12906110.html
Copyright © 2011-2022 走看看