第一种方法:

使用场景:

打开多个窗口,需要定位到新打开的窗口

使用方法:

# 获取打开的多个窗口句柄

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 切换窗口的几种方法相关推荐

  1. python:在Windows上使用 Python

    python:在Windows上使用 Python 4.1. 完整安装程序 4.2. Microsoft Store包 4.3. nuget.org 安装包 4.4. 可嵌入的包 4.5. 替代捆绑包 ...

  2. python numpy读取数据_大神教你python 读取文件并把矩阵转成numpy的两种方法

    导读 今天小编就为大家分享一篇python 读取文件并把矩阵转成numpy的两种方法,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 在当前目录下: 方法1: file = open( ...

  3. python大神读取_大神教你python 读取文件并把矩阵转成numpy的两种方法

    导读 今天小编就为大家分享一篇python 读取文件并把矩阵转成numpy的两种方法,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 在当前目录下: 方法1: file = open( ...

  4. Python进阶之使用Scrapy实现自动登录Github的两种方法(POST,FormRequest,from_response)

    Python进阶之使用Scrapy实现自动登录Github的两种方法 1. 通过.FormRequest()实现登录github github1.py 2. 通过.FormRequest.from_r ...

  5. Htaccess文件是什么以及Windows下自由创建.htaccess文件的N种方法

    .htaccess是什么 概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置. 通过htaccess文件,可以帮我们实现:网页301重定向.自定义404错误 ...

  6. Windows——提高扩展显示屏的清晰度的一种方法

    Windows--提高扩展显示屏的清晰度的一种方法 一.鼠标右键,选择"显示设置" 二.选择"高级显示设置" 三.将显示器选择外接显示器 四.将刷新率更改成最高 ...

  7. Windows Docker 配置国内镜像源的两种方法

    Windows Docker配置国内镜像源的两种方法 更新时间 2022.04.14 通过Docker-Desktop界面操作和修改daemon.json两种方法配置国内镜像源 方法一:通过Docke ...

  8. python的selenium自动化测试公路_selenium+python自动化测试

    F12: 右键   选择复制  path from selenium import webdriver import time driver = webdriver.Chrome() driver.g ...

  9. python自动登录qq邮箱_selenium+python实现自动登陆QQ邮箱并发送邮件功能

    本期做一个selenium详细实例,会把我在元素定位中遇到的一些阻塞和经验分享给大家. (浏览器为Chrome) (如果只需要最终的完整代码,请直接跳转到文章最后) 浏览器打开QQ邮箱登录网址 fro ...

最新文章

  1. 白天鹅黑天鹅灰天鹅?手把手教你用卷积神经网络搞定识别
  2. 向oracle表空间添加一个数据文件命令
  3. BlazeDS入门教程-很详细-赞原创作者一个
  4. 什么是CDP(连续数据保护)?
  5. 电脑上老出现万象预览的广告_如何极速搜索“我的电脑”全部文件?搜索神器推荐!...
  6. ArcGIS 10.2.2 for Desktop非管理员权限用户连接Oracle12c,崩溃
  7. Java多线程深度探索
  8. 通信专业顶刊_通信类权威SCI期刊(部分)
  9. 更改putty默认配色方案
  10. 洛谷P4568 飞行路线
  11. 数据库异常用户sa登录失败_轻松解决SQLserver2014出现“用户sa登录失败 错误18456”的问题-网络教程与技术 -亦是美网络...
  12. 360安全杀毒软件扫描计算机病毒,360木马查杀能扫描病毒吗
  13. 百度新闻源的滑落,创业者的方向在哪?
  14. 野路子玩Qt,第十集,八音盒
  15. 密码子偏好性分析~codonW,EMBOSS:CUSP(图文教程)
  16. BIOS 和 EFI 启动光盘制作
  17. custom的短语_按照的英文短语
  18. 华工计算机网络随堂练习答案,华工计算机网络随堂练习答案
  19. java两个时间相差分钟_Java计算两个日期时间相差几天,几小时,几分钟等
  20. uniapp从企业微信、微信公众号获取地址栏的参数

热门文章

  1. Five nines
  2. 【Python,迄今为止讲解的最详细的一篇
  3. Like What Y ou Like: Knowledge Distill via Neuron Selectivity Transfer(2017)------论文阅读笔记
  4. 启用Win11原生支持的DoH(DNS over HTTPS)和配置自定义的DoH服务
  5. BlinkOn9 - Layered APIs
  6. 教你十分钟在Linux系统上快速装机并安装Ansible
  7. 进阶1·调用高德API获取交通数据(多个URL访问,字典提取,while无限循环下的程序间断运行)
  8. 9月赠书活动名单公布啦!
  9. C语言 本地套接字这个审核也不给我通过,老规矩base64
  10. 批量识别PDF/OFD/PNG/JPG电子发票到EXCEL