有时需要在多个窗口之间来回切换从而测试一些功能。例如在手机注册页面、邮箱注册页面及其他社交帐号注册页面分别进行测试,可以同时打开多个窗口进行注册及登录。

Selenium针对跨浏览器的窗口处理应注意以下几点:
· 在Selenium中每个窗口被当作一个会话句柄。
· WebDriver的windows_handles可以控制多个窗口,也就是多个会话句柄。
· Window_handle代表当前会话窗口。
· switch_to.window()函数可以进行窗口切换,类似之前的iframe操作。注意原switch_to_window函数在Selenium3.x中已不能使用。

以腾讯首页为例编写代码。

# -*- coding: utf-8 -*-
from selenium import webdriver
import time
from selenium.webdriver.common.by import Bydata = {'url':'https://www.qq.com/?fromdefault'
}driver = webdriver.Edge()
# 访问腾讯首页
driver.get(data['url'])# 获得当前窗口
nowhandle = driver.current_window_handle# 打开新窗口
driver.find_element(by=By.CSS_SELECTOR,value="body > div.global > div.layout.qq-nav > div > ul > li:nth-child(1) > a").click()
time.sleep(3)
# 获取所有窗口
all_handles = driver.window_handlesprint(all_handles)for handle in all_handles:print(handle)if handle != nowhandle:print("need to switch to nowhandle")driver.close()driver.switch_to.window(handle)time.sleep(3)driver.close()

参考:
selenium中的window handle
百度多窗口句柄处理


Selenium基础知识 多窗口处理相关推荐

  1. Selenium基础知识 自动登录QQ空间

    Selenium基础知识 自动登录QQ空间 from selenium import webdriver import timedef auto_login():driver = webdriver. ...

  2. selenium基础知识大全(转)

    自动化测试基础 1.软件测试分类 根据项目流程:单元测试(编码).集成测试(设计).系统测试(需求).验收测试 根据代码是否可见:白盒测试.黑盒测试.灰盒测试 功能测试:逻辑功能测试.界面测试.易用性 ...

  3. Python Selenium 基础知识

    目录 一.Selenium简介 selenium 安装 webdriver 安装 selenium 特点 selenium 组件 selenium 业务原理 selenium 工作原理 二.基础语法 ...

  4. Selenium基础知识

    本人博客文章网址:https://www.peretang.com/basic-knowledge-of-selenium/ 什么是Selenium Selenium是一个自动化测试工具 是一组不同的 ...

  5. web 自动化测试 selenium基础到应用(目录)

    第一章   自动化测试前提及整体介绍 1-1功能测试和自动化测试的区别 1-2自动化测试流程有哪些 1-3自动化测试用例和手工用例的区别 1-4 自动化测试用例编写 1-5 selenium的优势以及 ...

  6. pygame的基础知识详解(主窗口创建、图像绘制、时钟对象和事件响应等知识点),请惠存

    各位好,很久没更新博客了,最近较为深入研究pygame库,有些心得体会,想分享给各位,准备做成一个系列知识.欢迎各位查阅. 这篇作为一个基础知识的宣贯,想和各位深入分享一下pygame的基础知识,深入 ...

  7. 计算机窗口基础,计算机基础知识:计算机中窗口的基本操作

    [导语]在事业单位考试中,计算机专业知识的复习向来是考生复习备考阶段的一大重点,其中中公事业单位考试网为计算机基础知识的复习为考生提供知识点梳理,帮助考生备考! Windows操作系统中对窗口的操作是 ...

  8. Java基础知识运用,用对象,线程,Java窗口画出太阳系

    一个项目让你搞懂对象:Java基础知识运用,用对象,线程,GUI画出太阳系 一.需求分析: 用java基础知识画出太阳系八大行星的运行轨迹图,要求:运行轨迹图是动态图片,画出运行轨迹,画出地月系(不需 ...

  9. 第一章 软件自动化测试的基础知识

    测试工具以及测试方法并不能代表自动化测试,大多数人提到自动化测试,都会说会使用什么工具或者什么技术,这完全是错误的,和我在刚接触的时候一样,以为掌握了Selenium/QTP就以为自己是一名自动化测试 ...

最新文章

  1. php解析QQmv直链,网易云音乐直链解析API源代码^-^
  2. 《linux内核完全剖析:基于0.12内核》读书笔记一
  3. sgs 0.9.9 在 Eclipse中调试
  4. 创建调用查询删除存储过程语法
  5. box-sizing的使用
  6. Gym - 215177C 玩游戏
  7. 【渝粤题库】广东开放大学 婚姻家庭法 形成性考核
  8. 经典永流传,华为云媒体 AI 让老电影焕发新生
  9. 2019.03.17 14:58
  10. js_md5加密和base64的加密解密
  11. mysql 增删改查操作笔记
  12. WPF: WrapPanel 容器的数据绑定(动态生成控件、遍历)
  13. jQuery源码分析系列(31) : Ajax deferred实现
  14. 音乐直链php,【原创】百度音乐直链 + 实现方法
  15. mac版docker配置加速
  16. python保存网页上的图片_使用Python保存网页上的图片或者保存页面为截图
  17. 【高并发】- 指标介绍
  18. python计算器程序_python练习 计算器模拟程序
  19. 如何使用计算机做统计,新手如何快速用电脑软件EXCEL制作表格和简单数据统计...
  20. Web前端基础CSS初识学习笔记(8)行高对齐和首行缩进间距

热门文章

  1. 《图解密码技术》笔记13:PGP-密码技术的完美组合
  2. vue中的路由懒加载
  3. linux安装sqlserver
  4. 学会Zynq(28)SPI控制器简介
  5. SessionListener与SessionAttributeListener统计用户在线问题
  6. Matlab中滤波器的设计(FDAT)
  7. JS window.open()打开新窗口、监听页面打开关闭状态(详细)
  8. 我居然又回来了……(bushi灰太狼,之前拾贝,没坚持下去)
  9. 62套儿童行业响应式Html5儿童慈善机构网站模板儿童公益组织企业官网模板儿童慈善CSS模板下载婴儿树儿童健康食品整站模板html5网页静态模板Bootstrap扁平化网站源码css3手机seo自适响
  10. 用c语言编程确定一个相图的截面,2011级本科C语言上机复习题.doc