python如何切换windows窗口_selenium+python 切换窗口的几种方法
第一种方法:
使用场景:
打开多个窗口,需要定位到新打开的窗口
使用方法:
# 获取打开的多个窗口句柄
windows = driver.window_handles
# 切换到当前最新打开的窗口
driver.switch_to.window(windows[-1])
举例说明:
from selenium import webdriver
import time
# 打开百度主页【第一个窗口】
driver = webdriver.Chrome()
driver.get('https://www.baidu.com')
driver.maximize_window()
# 点击新闻,进入百度新闻【第二个窗口】
driver.find_element_by_link_text('新闻').click()
time.sleep(3)
# 使用第一种方法切换浏览器【切换到第二个窗口】
windows = driver.window_handles
driver.switch_to.window(windows[-1])
time.sleep(3)
# 点击百度新闻页中的某条新闻,进入新闻详情界面【在第二个窗口页面进行元素点击操作,来判断窗口是否切换成功】
driver.find_element_by_xpath('//*[@id="yw1"]/ul/li[2]').click()
time.sleep(3)
# 关闭浏览器
driver.quit()
print('测试通过')
第二种方法:
使用场景:
打开两个窗口,需要定位到新打开的窗口
使用方法:
# 获得打开的第一个窗口句柄
window_1 = driver.current_window_handle
# 获得打开的所有的窗口句柄
windows = driver.window_handles
# 切换到最新的窗口
for current_window in windows:
if current_window != window_1:
driver.switch_to.window(current_window)
举例说明:
from selenium import webdriver
import time
from selenium import webdriver
import time
# 打开百度主页【第一个窗口】
driver = webdriver.Chrome()
driver.get('http://www.kgc.cn/')
driver.maximize_window()
# 点击新闻,进入百度新闻【第二个窗口】
driver.find_element_by_link_text('新闻').click()
time.sleep(3)
# 使用第二种方法切换浏览器【切换到第二个窗口】
window_1 = driver.current_window_handle
windows = driver.window_handles
for current_window in windows:
if current_window != window_1:
driver.switch_to.window(current_window)
time.sleep(3)
# 点击百度新闻页中的某条新闻,进入新闻详情界面【在第二个窗口页面进行元素点击操作,来判断窗口是否切换成功】
driver.find_element_by_xpath('//*[@id="yw1"]/ul/li[2]').click()
time.sleep(3)
# 关闭浏览器
driver.quit()
print('测试通过')
两种方法的区别:
1、第一种方法比较简单,能提升整体代码的性能
2、第二种方法是大家最常用的方法,比较容易理解
python如何切换windows窗口_selenium+python 切换窗口的几种方法相关推荐
- python:在Windows上使用 Python
python:在Windows上使用 Python 4.1. 完整安装程序 4.2. Microsoft Store包 4.3. nuget.org 安装包 4.4. 可嵌入的包 4.5. 替代捆绑包 ...
- python numpy读取数据_大神教你python 读取文件并把矩阵转成numpy的两种方法
导读 今天小编就为大家分享一篇python 读取文件并把矩阵转成numpy的两种方法,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 在当前目录下: 方法1: file = open( ...
- python大神读取_大神教你python 读取文件并把矩阵转成numpy的两种方法
导读 今天小编就为大家分享一篇python 读取文件并把矩阵转成numpy的两种方法,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 在当前目录下: 方法1: file = open( ...
- Python进阶之使用Scrapy实现自动登录Github的两种方法(POST,FormRequest,from_response)
Python进阶之使用Scrapy实现自动登录Github的两种方法 1. 通过.FormRequest()实现登录github github1.py 2. 通过.FormRequest.from_r ...
- Htaccess文件是什么以及Windows下自由创建.htaccess文件的N种方法
.htaccess是什么 概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置. 通过htaccess文件,可以帮我们实现:网页301重定向.自定义404错误 ...
- Windows——提高扩展显示屏的清晰度的一种方法
Windows--提高扩展显示屏的清晰度的一种方法 一.鼠标右键,选择"显示设置" 二.选择"高级显示设置" 三.将显示器选择外接显示器 四.将刷新率更改成最高 ...
- Windows Docker 配置国内镜像源的两种方法
Windows Docker配置国内镜像源的两种方法 更新时间 2022.04.14 通过Docker-Desktop界面操作和修改daemon.json两种方法配置国内镜像源 方法一:通过Docke ...
- python的selenium自动化测试公路_selenium+python自动化测试
F12: 右键 选择复制 path from selenium import webdriver import time driver = webdriver.Chrome() driver.g ...
- python自动登录qq邮箱_selenium+python实现自动登陆QQ邮箱并发送邮件功能
本期做一个selenium详细实例,会把我在元素定位中遇到的一些阻塞和经验分享给大家. (浏览器为Chrome) (如果只需要最终的完整代码,请直接跳转到文章最后) 浏览器打开QQ邮箱登录网址 fro ...
最新文章
- 白天鹅黑天鹅灰天鹅?手把手教你用卷积神经网络搞定识别
- 向oracle表空间添加一个数据文件命令
- BlazeDS入门教程-很详细-赞原创作者一个
- 什么是CDP(连续数据保护)?
- 电脑上老出现万象预览的广告_如何极速搜索“我的电脑”全部文件?搜索神器推荐!...
- ArcGIS 10.2.2 for Desktop非管理员权限用户连接Oracle12c,崩溃
- Java多线程深度探索
- 通信专业顶刊_通信类权威SCI期刊(部分)
- 更改putty默认配色方案
- 洛谷P4568 飞行路线
- 数据库异常用户sa登录失败_轻松解决SQLserver2014出现“用户sa登录失败 错误18456”的问题-网络教程与技术
-亦是美网络...
- 360安全杀毒软件扫描计算机病毒,360木马查杀能扫描病毒吗
- 百度新闻源的滑落,创业者的方向在哪?
- 野路子玩Qt,第十集,八音盒
- 密码子偏好性分析~codonW,EMBOSS:CUSP(图文教程)
- BIOS 和 EFI 启动光盘制作
- custom的短语_按照的英文短语
- 华工计算机网络随堂练习答案,华工计算机网络随堂练习答案
- java两个时间相差分钟_Java计算两个日期时间相差几天,几小时,几分钟等
- uniapp从企业微信、微信公众号获取地址栏的参数
热门文章
- Five nines
- 【Python,迄今为止讲解的最详细的一篇
- Like What Y ou Like: Knowledge Distill via Neuron Selectivity Transfer(2017)------论文阅读笔记
- 启用Win11原生支持的DoH(DNS over HTTPS)和配置自定义的DoH服务
- BlinkOn9 - Layered APIs
- 教你十分钟在Linux系统上快速装机并安装Ansible
- 进阶1·调用高德API获取交通数据(多个URL访问,字典提取,while无限循环下的程序间断运行)
- 9月赠书活动名单公布啦!
- C语言 本地套接字这个审核也不给我通过,老规矩base64
- 批量识别PDF/OFD/PNG/JPG电子发票到EXCEL