python3+selenium 切换窗口方法

第一种:

使用场景:
打开多个窗口,需要定位到新打开的窗口

使用方法:

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

# _._ coding:utf-8 _._

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 _._

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、第二种方法是大家最常用的方法,比较容易理解

相关推荐

  1. python3+selenium 切换窗口方法

    2023-12-22 07:58:02       64 阅读
  2. Selenium 切换窗口

    2023-12-22 07:58:02       27 阅读
  3. UI自动化Selenium 页面窗口window定位切换

    2023-12-22 07:58:02       60 阅读
  4. selenium中switch_to.window切换窗口的用法

    2023-12-22 07:58:02       36 阅读
  5. 自动化-selenium-元素/窗口常用方法

    2023-12-22 07:58:02       27 阅读
  6. python使用selenium如何切换ifrem

    2023-12-22 07:58:02       34 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-22 07:58:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-22 07:58:02       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-22 07:58:02       87 阅读
  4. Python语言-面向对象

    2023-12-22 07:58:02       96 阅读

热门阅读

  1. 流媒体知识总结

    2023-12-22 07:58:02       62 阅读
  2. 在 Go 语言中使用 regexp 包处理正则表达式

    2023-12-22 07:58:02       48 阅读
  3. Ansible3

    Ansible3

    2023-12-22 07:58:02      60 阅读
  4. css学习笔记5

    2023-12-22 07:58:02       62 阅读
  5. Android 9.0 应用权限屏蔽位置信息

    2023-12-22 07:58:02       44 阅读
  6. MongoDB的面试题与答案

    2023-12-22 07:58:02       57 阅读
  7. GBASE南大通用集群负载均衡

    2023-12-22 07:58:02       54 阅读
  8. hive中map相关函数总结

    2023-12-22 07:58:02       72 阅读
  9. unity中Android各版本对应的SDK版本

    2023-12-22 07:58:02       60 阅读