• webdriver的handle 切换窗口


    有时候自动化测试需要打开多个标签页,在不同标签页之间切换并且测试功能,需要用到handle.

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # File : handle.py
    # Date : 2020/1/26 20:46
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from time import sleep
    
    # 实例化driver
    with webdriver.Chrome() as driver:
        # 打开火狐主页
        driver.get("https://home.firefoxchina.cn/")
    
        # 显式等待
        wait = WebDriverWait(driver, 10)
    
        # 获得当前所在标签页的handle
        original_window = driver.current_window_handle
    
        # 检查只有一个打开的标签页
        assert len(driver.window_handles) == 1
    
        # 点击网页中的百度链接,会在新的标签页打开百度主页
        wait.until(EC.presence_of_element_located((By.XPATH, '//li[@sid="375"]/a'))).click()
        # driver.find_element_by_link_text("百  度").click()
    
        # 等待新标签页的打开
        wait.until(EC.number_of_windows_to_be(2))
    
        # 循环所有handles,如果handle不是当前标签页的,就切换到当前标签页
        for window_handle in driver.window_handles:
            if window_handle != original_window:
                driver.switch_to.window(window_handle)
                break
    
        # 等待新标签页加载内容,确认标题
        wait.until(EC.title_is("百度一下,你就知道"))
        
        # 切换回火狐主页标签
        driver.switch_to.window(original_window)
        # 关闭当前标签页
        driver.close()
        sleep(2)
    
  • 相关阅读:
    js 带表情的评论输入框问题
    js 元素到指定的相对定位的父元素的距离
    html分享QQ,微信,显示分享图片,标题,简介
    网络空间安全0x01志向
    优秀的前端
    float探究
    转载的。。。
    判断有木有环
    居中(纯css方式)
    一个闭包的很好的考题, 闭包+递归
  • 原文地址:https://www.cnblogs.com/milesma/p/12234854.html
Copyright © 2020-2023  润新知