4、多窗口切换,句柄(handle)

前言:有些页面的链接打开后,会重新打开一个窗口,对亍返种情冴,想 在新页面上操作,就得先凿换窗口了。获叏窗口的唯一标识用句柄表示, 所以叧需要凿换句柄,我们就能在多个页面上灵活自如的操作了

一、认识多窗口

1、打开https://www.hao123.com,点击“人民网”,会多出一个窗口标签,如下图:

2、我们用代码去执行点击的时候,収现界面上出现两个窗口,如下图返种情况就是多窗口了:

3、以上2个图,手工点击是 2 个标签,脚本点击就变成 2 个窗口了,脚本执行是不加载配置的, 手工点击是浏览器默认设置了新窗口打开方式为标签,返里用鼠标按住第二个标签,拖拽出来,也就变成 2 个窗口了,是一回事

4、元素有属性,浏览器的窗口其实也有属性的,只是你看不见,浏 览器窗口的属性用句柄(handle)来识别,人为操作的话,可以通过眼睛看,识别不同的窗口点击切换。但是脚本不知道你要操作哪个窗口,这时候只能句柄来判断了

 二、获取句柄、切换窗口

获取当前窗口的句柄:driver.current_window_handle

获取所有窗口的句柄:driver.window_handles,点击 人民网 和 新华网 后,获取所有的句柄:

 切换窗口句柄:switch_to.window()

原文地址:https://www.cnblogs.com/yhms/p/11788505.html

时间: 2024-11-12 05:33:31

4、多窗口切换,句柄(handle)的相关文章

Python3-Selenium自动化测试框架(六)之窗口切换、等待

Selenium自动化测试框架(六)之窗口切换.等待 窗口切换有三种: 1.Windows切换 2.iframe切换 3.alert切换 一.Windows切换 获取所有窗口的句柄 handles = driver.window_handles 获取当前窗口的句柄 handle = driver.current_window_handle 通过所有窗口的句柄索引来进行窗口切换 driver.switch_to.window(driver.window_handles[-1]) 窗口等待 等待新窗

python+selenium五:多窗口切换与获取句柄

from selenium import webdriverfrom selenium.webdriver.common.by import Byimport time driver = webdriver.Firefox()driver.get("http://bj.ganji.com/")time.sleep(3) # 1.获取句柄 # 获取当前的handle名字handle = driver.current_window_handleprint("获取到当前的handl

Selenium2+python自动化13-多窗口、句柄(handle)

前言 有些页面的链接打开后,会重新打开一个窗口,对于这种情况,想在新页面上操作,就得先切换窗口了.获取窗口的唯一标识用句柄表示,所以只需要切换句柄,我们就能在多个页面上灵活自如的操作了. 本篇以打开百度新闻页面搜索按钮上的链接页面为例,依次打开每个按钮,并检验测试结果.用脚本批量操作,可以减少重复劳动,重复的事情让脚本去执行吧! 一.定位一组元素 1.打开百度新闻页面:17http://news.baidu.com/17 2.定位搜索框上一排按钮网页.贴吧,知道等 3.定位一组元素方法在第八篇已

7. 多窗口切换,获取句柄

有时候点击某个链接会打开一个新的窗口,获取窗口的唯一标识用句柄表示,以凤凰网为例:https://v.ifeng.com/ 获取当前窗口的句柄:driver.current_window_handle 获取所有句柄: driver.window_handles 切换句柄:driver.switch_to.window() 循环判断句柄是否与首页句柄相等 如果不相等,则说明是新的页面 获取到新的句柄,切换到新打开的页面 打印新页面的title,查看是否切换成功 from selenium impo

Selenium弹出新页面无法定位元素问题(Unable to locate element)--多窗口切换

最近学习到多窗口切换,在页面操作过程中有时点击某个链接会弹出新的窗口,这时需要先切换到新窗口才能对其进行操作.Webdriver提供了switch_to.window( ) 方法实现在不同窗口中切换. 查阅相关资料,得到两种方法来定位到当前页面: 方法一: browser.switch_to_window(browser.window_handles[1]) 方法二:直接定位当前最新弹出的窗口 for handle in browser.window_handles:#方法二,始终获得当前最后的

selenium 多窗口切换

selenium 多窗口切换 知识点: 1.current_window_handle:获取当前窗口句柄 2.window_handles:返回所有窗口的句柄到当前会话 3.switch_to.window():用于切换到相应的窗口.  与switch_to.frame()类似. switch_to.window()是用于不同窗口的切换.switch_to.frame()是用于不同表单的切换. 示例; #selenium 窗口切换 from selenium import webbrowser

Selenium 3----定位一组元素+多表单切换+多窗口切换

定位一组元素 和定位单个元素类似,WebDriver提供了8种用于定位一组元素的方法.定位一组元素的方法与定位单个元素的方法类似,唯一的区别是在单词element后面多了一个s表示复数. find_elements_by_id() find_elements_by_name() find_elements_by_class_name() find_elements_by_tag_name() find_elements_by_link_text() find_elements_by_partia

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

多窗口切换 在页面操作过程中有时候点击某个链接会弹出新的窗口,这时就需要主机切换到新打开的窗口上进行操作. WebDriver提供了switch_to.window()方法,可以实现在不同的窗口之间切换. 以百度首页和百度注册页为例,在两个窗口之间的切换如下图. from selenium.webdriver import Chrome import time driver = Chrome("C:\Program Files (x86)\Google\Chrome\Application\ch

Selenium 2自动化测试实战16(多窗口切换)

一.多窗口切换 在页面操作过程中有时候点击某个链接会弹出新的窗口,这时就需要主机切换到新打开的窗口上进行操作.WebDriver提供了switch_to.window()方法.可以实现在不同的窗口之间切换.以百度和百度注册页为例,在两个窗口之间切换 #coding:utf-8 from selenium import webdriver from selenium.webdriver.common.keys import Keys import time driver=webdriver.Chr