弹出新的窗口,该如何处理

1.获取当前窗口句柄

2.元素的操作,打开新的窗口

3.获取所有窗口句柄

4.for循环遍历所有窗口,定位到需要操作的窗口上

  和你当前句柄不一样的就说明是新的,通过打印title来判断

实例:打开了新的窗口

'''
多窗口处理
访问火狐主页,之后再新窗口访问微博
'''

#! /usr/bin/env python
#coding=utf-8 from selenium import webdriver
import time '''
多窗口处理
访问火狐主页,之后再新窗口访问微博
'''
driver = webdriver.Firefox()
driver.get("http://i.firefoxchina.cn/?from=worldindex")
#driver.maxmize_window() #获取当前窗口句柄
curr_handle = driver.current_window_handle
print("curr_handle=",curr_handle)
time.sleep(5) #新打开的窗口
driver.find_element_by_link_text("微 博").click() #获取所有窗口句柄
all_handles = driver.window_handles #遍历所有窗口句柄,和你当前句柄不一样的就说明是新的,通过打印title来判断
for h in all_handles:
if h != curr_handle:
#跳转到h窗口
driver.switch_to_window(h)
#获取到新窗口的句柄
curr_handle = driver.current_window_handle
print("curr_handle=",curr_handle) time.sleep(5) driver.quit()

结果:

curr_handle= {5a0d739b-6d2f-4130-b3fd-c8c04a7bf89b}
curr_handle= {b7957d2c-7682-4095-85bb-2a500d472bcc}

Selenium-多窗口处理的更多相关文章

  1. Python3 Selenium多窗口切换

    Python3 Selenium多窗口切换 以腾讯网(http://www.qq.com/)为例,打开腾讯网,点击新闻,打开腾讯新闻,点击新闻中第一个新闻链接. 在WebDriver中封装了获取当前窗 ...

  2. Python+Selenium学习--窗口切换及操作元素

    场景 有时候我们在测试一个web 应用时会出现多个浏览器窗口的情况,在selenium1.0 中这个问题比较难处理.webdriver 提供了相关相方法可以很轻松的在多个窗口之间切换并操作不同窗口上的 ...

  3. selenium webdriver窗口切换(上)

    selenium webdriver窗口切换,有时候在做自动化的时候需要打开很多很多的页面, 当在操作不同的页面的时候需要切换窗口,下面是如何切换到前后页面窗口的操作: package test201 ...

  4. python3 selenium 切换窗口的几种方法

    第一种方法: 使用场景: 打开多个窗口,需要定位到新打开的窗口 使用方法: # 获取打开的多个窗口句柄windows = driver.window_handles# 切换到当前最新打开的窗口driv ...

  5. selenium切换窗口

    在做网页自动化测试的时候,难免会打开很多个网页,那么,如何在多个窗口之间切换呢? 获取窗口的唯一标识用句柄(handle)表示,因此只需要切换句柄,就可以灵活的在各窗口之间切换. 下面介绍几个方法 c ...

  6. Selenium切换窗口,警告框处理,调用JavaScript代码

    多窗口切换 在页面操作过程中有时候点击某个链接会弹出新的窗口,这时就需要主机切换到新打开的窗口上进行操作. WebDriver提供了switch_to.window()方法,可以实现在不同的窗口之间切 ...

  7. selenium切换窗口后定位元素出现问题的解决方案

    在做UI自动化的过程中,有时需要由一个窗口跳转到另一个窗口,这时直接去定位页面元素,可能会出现问题,这时,我们需要将driver与新的窗口进行绑定. 完整代码如下:(python版) #coding= ...

  8. selenium多窗口切换定位

    from selenium import webdriverimport unittest,time,refrom selenium.webdriver.common.keys import Keys ...

  9. 自动化测试基础篇--Selenium多窗口、句柄问题

    摘自https://www.cnblogs.com/sanzangTst/p/7680402.html 有时我们在打开浏览器浏览网页时,当点击网页上某些链接时,它不是直接在当前页面上跳转,而是重新打开 ...

  10. win+python+selenium实现窗口和tab切换

    这篇总结主要是关于两方面的需求:其一,在浏览器不同tab标签页之间按时间切换(同事用来不停刷新grid crontol 监控页面):其二,实现开启多个窗口,并将窗口缩放到一定范围,并齐占满整个桌面,按 ...

随机推荐

  1. Jenkins+GitHub+Xcode+fir搭了一个持续集成环境

    enkins+GitHub+Xcode+fir搭了一个持续集成环境 字数826 阅读5699 评论44 喜欢49 原文链接 Coding Duck 今天用Jenkins+GitHub+Xcode+fi ...

  2. dede 文章列表页如何倒序排列

    {dede:arclist row='6' typeid='18' orderway='asc'} <li>;<a href="[field:arcurl/]"& ...

  3. 信号量semaphore解析

    1 基础概念 信号量在创建时须要设置一个初始值,表示同一时候能够有几个任务能够訪问该信号量保护的共享资源.初始值为1就变成相互排斥锁(Mutex),即同一时候仅仅能有一个任务能够訪问信号量保护的共享资 ...

  4. mysql主从实验

    实验一: 服务器A与服务器B是主从关系,关联的库有test1,.test2库,主从一直运行正常,此时由于业务的需求,需再增加test3库,并让其仍然维持主从关系,应该怎么做? 步骤一: 修改从库服务器 ...

  5. 查看硬盘负载情况:iostat命令

    Linux系统中的 iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视.它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况.同 ...

  6. 1、Codevs 必做:2833、1002、1003、2627、2599

    2833 奇怪的梦境  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description Aiden陷入了一个奇怪的梦境:他被困 ...

  7. POJ 1068 Parencodings【水模拟--数括号】

    链接: http://poj.org/problem?id=1068 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=27454#probl ...

  8. bilingual evaluation understudy

    BLEU is designed to approximate human judgement at a corpus level, and performs badly if used to eva ...

  9. 洛谷 2216 [HAOI2007]理想的正方形

    题目戳这里 一句话题意 给你一个a×b的矩形,求一个n×n的子矩阵,矩阵里面的最大值和最小值之差最小. Solution 这个题目许多大佬都是单调队列,但是我不是很会,只好用了比较傻逼的方法: 首先我 ...

  10. Oracle视图传递参数

    在Oracle里,视图不像存储过程和函数一样,可以定义输入参数,但我们可以变个方式,使用程序包来实现. oracle package: oracle package是oracle包,是一组相关过程.函 ...