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 窗口切换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Django多进程滚动日志问题解决方案

    Django多进程滚动日志问题解决方案

    这篇文章主要介绍了Django多进程滚动日志问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Python中工厂模式的实现小结

    Python中工厂模式的实现小结

    工厂模式是一种创建型设计模式,通过定义一个工厂类,将对象的实例化过程封装起来,本文主要介绍了Python中工厂模式的实现小结,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • Python小白垃圾回收机制入门

    Python小白垃圾回收机制入门

    在本篇文章里小编给大家分享的是关于Python小白垃圾回收机制入门的相关知识点,需要的朋友们可以参考下。
    2020-06-06
  • python利用faker库批量生成测试数据

    python利用faker库批量生成测试数据

    小编经常需要批量测试一些数据,有时候测试环境又暂时没数据,特意找了一下,发现有一个可批量生成数据的python库—-faker,现在就介绍一下它的使用方法,如果你不想一行一行输入代码,小编提供了完整测试代码,见文末代码章节。
    2020-10-10
  • python安装pandas库不成功原因分析及解决办法

    python安装pandas库不成功原因分析及解决办法

    Pandas是python中非常常用的数据分析库,在数据分析、机器学习、深度学习等领域经常被使用,下面这篇文章主要给大家介绍了关于python安装pandas库不成功原因分析及解决办法的相关资料
    2023-11-11
  • Django单元测试的具体使用

    Django单元测试的具体使用

    Django提供了一套强大的测试工具来帮助开发者编写和运行单元测试,本文就来介绍一下Django中的单元测试,包括测试原理、编写测试用例和运行测试,感兴趣的可以了解一下
    2023-11-11
  • python科学计算之scipy——optimize用法

    python科学计算之scipy——optimize用法

    今天小编就为大家分享一篇python科学计算之scipy——optimize用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • python&MongoDB爬取图书馆借阅记录

    python&MongoDB爬取图书馆借阅记录

    这篇文章主要介绍了python&MongoDB爬取图书馆借阅记录的相关资料,需要的朋友可以参考下
    2016-02-02
  • Python3基础语法知识点总结

    Python3基础语法知识点总结

    在本篇文章里小编给大家分享的是一篇关于Python3基础语法知识点总结内容,有兴趣的朋友们可以学习下。
    2021-05-05
  • 在Pandas中导入CSV数据时去除默认索引的方法汇总

    在Pandas中导入CSV数据时去除默认索引的方法汇总

    在Pandas中读取CSV数据时,会默认将第一列设为索引列index,但有时候我们并不需要索引,或者希望指定自己的索引列,本文将介绍几种在Pandas中导入CSV数据时去除默认索引的方法,需要的朋友可以参考下
    2023-05-05

最新评论