Selenium自动化测试实现窗口切换

 更新时间:2023年03月19日 10:53:42   作者:牛油菠蘿包  
这篇文章主要介绍了Selenium自动化测试实现窗口切换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

在Web自动化测试过程中,有时单击某个链接会弹出新的窗口,这时就需要切换到新打开的窗口中进行操作。WebDriver 提供的switch_to.window()方法可以实现在不同的窗口之间进行切换。

主要用到的相关方法:

  • current_window_handle:获得当前窗口句柄。
  • window_handles:返回所有窗口的句柄到当前会话。
  • switch_to.window():切换到相应的窗口

下面以百度首页和账号注册页为例,演示在两个窗口之间的切换

import time
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.implicitly_wait(10)

driver.get("https://www.baidu.com")
search_windows = driver.current_window_handle

driver.find_element(By.LINK_TEXT,'登录').click()
driver.find_element(By.LINK_TEXT,'立即注册').click()

all_handles = driver.window_handles

for handle in all_handles:
    if handle != search_windows:
        driver.switch_to.window(handle)
        print(driver.title)
        driver.find_element(By.NAME,'userName').send_keys('userName')
        driver.find_element(By.NAME,'phone').send_keys('138xxxxxxx')
        time.sleep(2)

        driver.close()

driver.switch_to.window(search_windows)
print(driver.title)
driver.quit()

解析:程序开始后,首先打开百度首页,然后通过current_window_handle获取了当前窗口句柄,接着打开登录弹窗,点击注册按钮从而打开新窗口;再通过window_handles 获得当前所有窗口句柄,接着遍历所有窗口句柄,如果不等于百度首页的窗口句柄,那就是注册页的窗口句柄,因为只打开了两个窗口,然后再通过switch_to.window()切换到注册页窗口。

到此这篇关于Selenium自动化测试实现窗口切换的文章就介绍到这了,更多相关Selenium 窗口切换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python+Opencv实现表格边框线检测

    Python+Opencv实现表格边框线检测

    Python数据开发工作时偶尔会要求对图片做边框线检查和图片中的直线,本文为大家整理了相关的实现方法,非常实用,建议有需要的小伙伴收藏一下
    2023-05-05
  • 通过源码分析Python中的切片赋值

    通过源码分析Python中的切片赋值

    因为经常取指定索引范围的操作,用循环十分繁琐,因此,Python提供了切片(Slice)操作符,能大大简化这种操作。而下面这篇文章则通过源码给大家分析介绍了Python中切片赋值的相关资料,需要的朋友可以参考学习,下面来一起看看吧。
    2017-05-05
  • django中嵌套的try-except实例

    django中嵌套的try-except实例

    这篇文章主要介绍了django中嵌套的try-except实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • Python库 Bokeh 数据可视化实用指南

    Python库 Bokeh 数据可视化实用指南

    大家好,今天跟大家分享的是交互式可视化神器 Python Bokeh 的详细使用教程,Bokeh是一个面向现代web浏览器的交互式可视化库。它提供了多功能图形的优雅、简洁的构造,并在大型数据集或流式数据集上提供了高性能的交互性,接下来让我们详细看看吧
    2021-11-11
  • scrapy spider的几种爬取方式实例代码

    scrapy spider的几种爬取方式实例代码

    这篇文章主要介绍了scrapy spider的几种爬取方式实例代码,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • 使用python 写一个静态服务(实战)

    使用python 写一个静态服务(实战)

    今天小编就为大家分享一篇使用python 写一个静态服务(实战),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • Python 字符串池化的前提

    Python 字符串池化的前提

    这篇文章主要介绍了Python 字符串池化的前提,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • Pandas多级索引的实现示例

    Pandas多级索引的实现示例

    Pandas 中的多级索引是一种强大的工具,用于处理具有多个维度或层次的数据,本文主要介绍了Pandas多级索引的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • python实现优雅的打印json格式文本

    python实现优雅的打印json格式文本

    这篇文章主要介绍了python实现优雅的打印json格式文本方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • Python解决鸡兔同笼问题的方法

    Python解决鸡兔同笼问题的方法

    这篇文章主要介绍了Python解决鸡兔同笼问题的方法,分析了鸡兔同笼问题的原理与解决思路,并给出了Python实现的代码,非常具有参考借鉴价值,需要的朋友可以参考下
    2014-12-12

最新评论