当前位置: 首页 > 编程笔记 >

python3 selenium 切换窗口的几种方法小结

端木兴国
2023-03-14
本文向大家介绍python3 selenium 切换窗口的几种方法小结,包括了python3 selenium 切换窗口的几种方法小结的使用技巧和注意事项,需要的朋友参考一下

第一种方法:

使用场景:

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

使用方法:

# 获取打开的多个窗口句柄
windows = driver.window_handles
# 切换到当前最新打开的窗口
driver.switch_to.window(windows[-1])

举例说明:

# _._ coding:utf-8 _._
"""
:author: 花花测试
:time: 2017.05.03
:content: 使用第一种方法切换浏览器
"""
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)
# 使用第一种方法切换浏览器【切换到第二个窗口】
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)

举例说明:

# _._ coding:utf-8 _._
"""
:author: 花花测试
:time: 2017.05.03
:content: 使用第二种方法切换浏览器
"""
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、第二种方法是大家最常用的方法,比较容易理解

以上这篇python3 selenium 切换窗口的几种方法小结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 我正在测试一个包含多个webview/页面的webview应用程序。为了获得webviews,我做了以下工作: 它返回一个窗口索引数组,这些索引数组类似于

  • 3.5.1 框架窗口 框架窗口为应用程序的用户界面提供结构框架,它是应用程序的主窗口,负责管理其包容的窗口,一个应用程序的最顶层的框架窗口是应用程序启动时创建的第一个窗口。 MFC提供三种类型的框架窗口:单文档窗口,多文档窗口(MDI),对话框。在AppWizard的第一个对话框中,就提供了选项,让用户选择应用程序是基于单文档、多文档还是对话框的。MFC单文档窗口一次只能打开一个文档框架窗口,而M

  • 本文向大家介绍几种tab切换详解,包括了几种tab切换详解的使用技巧和注意事项,需要的朋友参考一下 1.鼠标移入移出切换 2.鼠标移入移出延时切换 3. tab自动切换,鼠标移入移出立即切换 4. 广告栏切换实例 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!

  • 我正在IE上测试。单击后,我切换到子窗口,但无法返回父窗口,出现错误“窗口已关闭”。

  • 本文向大家介绍Javascript刷新窗口方法小结,包括了Javascript刷新窗口方法小结的使用技巧和注意事项,需要的朋友参考一下 本文实例总结了Javascript刷新窗口方法。分享给大家供大家参考,具体如下: 1.javascript 刷新父窗口 2.javascript 刷新本窗口 3.javascript 刷新本窗口(新) 4.javascript 刷新本窗口并追加一个参数 希望本文所