1. 常用方法

使用背景:有些网站点击链接会新打开一个tab,如下图打开了两个浏览器窗口;元素定位正确,调试时一直报错,原因是未切换到对应的窗口句柄,切换到对应的窗口句柄才可以正常操作

  • current_window_handle:获得当前窗口句柄
  • window_handles:获取所有窗口的句柄到当前会话,返回一个窗口句柄列表
  • switch_to.window():切换窗口句柄
# -*-coding:utf-8一*-
# @Time:2021/1/14
# @Author: 大海
import time
from selenium import webdriverdriver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.get("http://www.baidu.com")# 获得百度搜索窗口句柄
search_windows = driver.current_window_handle
print(search_windows)driver.find_element_by_link_text('登录').click()
driver.find_element_by_link_text("立即注册").click()# 获得当前所有打开的窗口的句柄
all_handles = driver.window_handles
print(all_handles)# 切换到注册窗口 方式1 通过判断是否与当前窗口句柄一致
for handle in all_handles:if handle != search_windows:driver.switch_to.window(handle)driver.find_element_by_name("userName").send_keys('我是测试小白')driver.find_element_by_name('phone').send_keys('12345678910')time.sleep(2)# 后续步骤省略# 切换到注册窗口 方式2 通过获取的所有窗口列表的索引切换
# driver.switch_to.window(all_handles[1])
# driver.find_element_by_name("userName").send_keys('我是测试小白')
# driver.find_element_by_name('phone').send_keys('12345678910')
# time.sleep(2)driver.quit()

09-多窗口切换-window_handles相关推荐

  1. Selenium3 + Python3自动化测试系列——多窗口切换

    多窗口切换 在页面操作过程中有时候点击某个链接会弹出新的窗口,这时就需要主机切换到新打开的窗口上进行操作. WebDriver提供了switch_to.window()方法,可以实现在不同的窗口之间切 ...

  2. Python+Selenium学习笔记8 - 多表单多窗口切换

    1.多表单切换 下图为待测页面:内嵌百度首页 切换到百度首页进行操作 1 #coding = utf-8 2 3 from selenium importwebdriver4 importos5 im ...

  3. python页面切换_Python+Selenium学习--窗口切换及操作元素

    场景 有时候我们在测试一个web 应用时会出现多个浏览器窗口的情况,在selenium1.0 中这个问题比较难处理.webdriver 提供了相关相方法可以很轻松的在多个窗口之间切换并操作不同窗口上的 ...

  4. Selenium 窗口切换

    在浏览网页的时候,有时点击一个链接或者按钮,会弹出一个新的窗口. 使用 Selenium 进行 Web 自动化测试,如果弹出新窗口时,没有对窗口进行切换,那么,WebDriver 对象 的焦点对应的, ...

  5. python3 + selenium 之窗口切换

    窗口切换 此代码来源学习后对淘宝操作实践记录: 以下代码在Chrome61和IE11上正常运行,Firefox5.7上运行存在一些问题须改进,应该是火狐不兼容差link_text部分和循环经常报错,在 ...

  6. web页面:窗口切换

    1.标签页切换 在某个窗口上点击某个链接在新标签页显示新窗口时,如果想要点击新标签页的元素时,需要进行窗口切换. driver.switch_to.window('窗口名称') from seleni ...

  7. 【Selenium】切换/窗口切换

    文章目录 1 frame切换 1.1 切换到frame 1.2 切回原来的主html 1.3 示例 2 窗口切换 2.1 切换新窗口 2.2 切回原来的窗口 2.3 示例 1 frame切换 1.1 ...

  8. 自动化测试——多窗口切换和切换frame

    这里写目录标题 一.多窗口切换 1.base.py:公共代码 2.切换句柄的方式1,通过for循环 3.切换句柄的方式2,通过索引切换 4.源代码 二.frame窗口 1.什么是frame? 2.Fr ...

  9. selenium窗口切换

    说明:本篇博客基于selenium 4.1.0 场景说明 场景:点击某个按钮后,页面是在一个新的浏览器中出现.如百度的'更多'按钮 问题:浏览器可能自动切换到了新页面,但是selenium的drive ...

最新文章

  1. 图深度学习:成功,挑战以及后面的路
  2. slimphp中间件调用流程的理解
  3. Ubuntu上安装TensorFlow(python2.7版)
  4. Java中String类型的数据比较
  5. 单线驱动74hc595(转)
  6. Pinpoint 监控
  7. Windows x64平台 获取PEB表,并获取kernel32.dll的基址,并获取它的函数
  8. 【Opencv系列】之显示图像以及使用鼠标截取图像局部区域进行放大
  9. angularjs内置63个指令
  10. JVM飙高排查脚本-结构分析
  11. 深度学习2.0-42.Auto-Encoders-无监督学习
  12. python marshal 对象序列化和反序列化
  13. 一句批处理快速把优酷KUX转MP4
  14. php是世界上最好的语言 ctf+代码审计+加密函数绕过
  15. AndrewNG机器学习听课笔记(1 )——线性回归(linear regression)
  16. MT7682参考手册,MT7682芯片资料介绍
  17. 计算机网络-第1章 计算机网络和因特网-同步电大进度
  18. OpenGL: 圆柱面绘制贴图
  19. 高德地图生成静态图片,显示指定经纬度的地图
  20. C语言--逗号运算符及逗号表达式

热门文章

  1. 《中国制造2025》重点领域技术创新路线图(2017年版)发布会在北京召开
  2. 工作邦智慧水务云平台的十大系统
  3. VMware vRealize Automation 8 Install
  4. 计算机网络基础(类别 | 性能指标 | OSI模型初识)
  5. OIM同步OID(OID-Connector 9.0.4.12)
  6. 数据库设计(ER模型和UML模型及转换为关系模型的公式)
  7. 二阶龙格库塔公式推导_连续系统数值仿真方法——龙格库塔法
  8. webViewJavascriptBridge踩坑【页面刚开始bridge失效一阵】
  9. 后宫宛如传服务器维护,更新丨《后宫宛如传》1.17.0版本更新公告
  10. WebGL和OpenGL的联系和区别