python win10 捕获 弹出窗口_Selenium-webdriver 系列Python教程(6)————如何捕获弹出窗口...
在web自动化测试中点击一个链接然后弹出新窗口是比较司空见惯的事情。
webdriver 中处理弹出窗口跟处理 frame 差不多,以下面的 html 代码为例
window.html
click me
下面的代码演示了如何去捕获弹出窗口
# coding:utf-8
__author__ = 'zhangzhe'
from selenium import webdriver
import time
import os
#打开Chrome
driver = webdriver.Chrome()
file_path = 'file:///' + os.path.abspath('windows.html')
driver.get(file_path)
time.sleep(3)
# 当前的window handle
ch = driver.current_window_handle
driver.find_element_by_link_text("click me").click()
time.sleep(3)
# 所有的window handles
wh = driver.window_handles
#在所有窗口中查找弹出窗口
for line in wh:
if line != ch:
driver.switch_to_window(line)
driver.find_element_by_id("kw").send_keys("selenium")
driver.switch_to_window(ch)
捕获或者说定位弹出窗口的关键在于获得弹出窗口的 handle。
在上面的代码里,current_window_handle, 然后使用了window_handles方法获取所有弹出的浏览器窗口的句柄,将这两个值的差值就是新弹出窗口的句柄。
在获取新弹出窗口的句柄后,使用 switch_to_window(line)方法,将新窗口的句柄以Name的方式作为参数传入既可捕获到新窗口了。
如果想回到以前的窗口定位元素,那么再调用1次switch_to_window方法, 传入之前窗口的句柄既可达到目的。
python win10 捕获 弹出窗口_Selenium-webdriver 系列Python教程(6)————如何捕获弹出窗口...相关推荐
- python元素定位的八种方法_selenium webdriver基于Python系列之八种元素定位方法
1.id.name.class name.tag name.link text.partial link text.xpath.css selector在 Python 语言中对应的定位方法如下: f ...
- python win10安装包64位免费下载_anaconda python win10下载
anaconda python3.7安装包是针对Windows 10系统打造的一款非常不错的拥有科学计算环境的python集成开发环境,该安装包应用范围广泛,可涉及人工智能.系统运维.Web开发.科学 ...
- python Series 添加行_傻傻分不清系列 | Python中各种字符串处理方法
Python易混淆知识系列:Pandas字符串方法和字符串内建函数,使用Python的一个优势就是字符串处理起来比较容易. Python的初学者在学习字符串内建函数的时候往往会很困惑:字符串的内建函数 ...
- Python win10系统下创建发布
Python win10系统下创建发布 最近开始学习Python,用head First Python入门. 看到书中构建发布部分,自己练习时,出了几个错误.这里把解决方法写出来,以方便自已以后温习. ...
- flask python web优品课堂_Python Flask Web网站编程全栈开发系列高清视频教程-价值2499...
0 s: n8 F- K0 _5 i( I Python Flask Web网站编程全栈开发系列高清视频教程& ?- Y2 }3 U1 k9 t/ k! i 这是2016年11月第二期,跟第三 ...
- python win10 捕获 弹出窗口_[python爬虫] Selenium高级篇之窗口移动、弹出对话框自登录...
在我们使用Selenium Python制作自动爬虫和网页自动测试的时候,通常会遇到弹出新的窗体或对话框的时候,此时你捕获的窗体已经被打断,从而干扰你的爬虫. 那怎么解决这个问题呢? 本篇文章主要记录 ...
- python弹出警告框_selenium+webdriver+python 中警告框的处理方法
在自动化测试过程中,经常会遇到弹出警告框的情况,如图所示: 在 WebDriver 中处理 JavaScript 所生成的 alert.confirm 以及 prompt 是很简单的.具体做法是使用 ...
- python selenium 关闭窗口_Selenium快速上手实战 | 上篇
前言 Selenium是一个用于Web应用程序的自动化测试工具.它直接运行在浏览器中,可以模拟用户在浏览器上面的行为操作. 在AirtestIDE中,开发者也给我们提供了使用Selenium的窗口.不 ...
- python documentation弹出_为什么在使用python idle时,会弹出python documentation?
看下能不能帮到你或者你说详细一些,要么截个图: IDLE是Python软件包自带的一个集成开发环境,初学者可以利用它方便地创建.运行.测试和调试Python程序. 一.IDLE的安装 实际上,IDLE ...
- php如何让B链接在当前页面打,javascript - 如何实现点击链接 A 弹出窗口 X,点击链接 B 继续在弹出窗口 X (刷新)打开?...
就是有很多链接,点击链接会弹出窗口,如何实现点击不同的链接,始终在同一弹出窗口中打开,而不是每次都弹出新的窗口. 用下面的代码只能每次都弹出新的窗口. $('a').click(function(){ ...
最新文章
- docker存储结构解析
- webstorm 两个文件对比不同_DOS 入门到精通 使用 fc 命令比较两个文件,并逐一显示不同之处...
- js包装类型的装箱拆箱
- no typehandler found for property XXXX 解决
- uCOS-III应用开发笔记之一:uCOS-III在STM32的移植
- WPF圆角按钮与触发颜色变化
- android mux协议,GSM 07.10 MUX 协议驱动解析
- java比较炫的小程序_有人不建议学Java,有人不建议学Python,该怎么选择
- NXP IMX6ULL芯片时钟系统全概况
- 阿里巴巴是怎么处理大数据的?重磅揭秘!
- P2141_珠心算测验
- HANA XS Administration Tool登录参数设置
- 支持OnVif协议的摄像头直播推流php
- BNUOJ29065鸣人的查克拉
- C++输入日期判断是周几
- 无线电视服务器主机名,电视服务器主机名怎么填
- 2017年美国数学建模MCM/ICM ABCDEF试题分析
- 嵌入式面试题之单片机知识
- CM阿里云安装Cloudera Mananger
- linux解压zip文件