Selenium基础 — 多窗口操作

这篇具有很好参考价值的文章主要介绍了Selenium基础 — 多窗口操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、多标签/多窗口之间的切换

场景:
在页面操作过程中有时候点击某个链接会弹出新的窗口,这时就需要切换到新打开的窗口上进行操作。这种情况下,需要识别多标签或窗口的情况。
操作方法:

  • switch_to.window()方法:切换窗口。可以实现在不同的窗口之间切换。
  • current_window_handle: 获得当前窗口句柄。
  • window_handles: 获取所有窗口句柄。

提示:句柄就可以理解成浏览器窗口的id值。

操作说明:

  1. 获取所有窗口的句柄
    handles = driver.window_handlers
    调用该方法会得到一个列表,在selenium运行过程中的每一个窗口,都有一个对应的值存放在里面。
    (换句话说,有多少个窗口,就有多少个句柄)
  2. 通过窗口的句柄进入的窗口
    driver.switch_to_window(handles[n])

2、练习

"""
1.学习目标:
    必须掌握web中多窗口切换方法
2.语法(操作步骤)
    2.1 获取当前窗口句柄
        driver.current_window_handle
    2.2 点击页面中的超链接触发多窗口
    2.3 获取所有窗口句柄
        driver.window_handles
    2.4 进入新窗口
        switch_to.window(handles[1])
    2.5 操作新窗口中的元素
        按实际工作需求编写
    2.6 退出新窗口
        switch_to.window(handles[0])

3.需求
    在页面中,实现多窗口切换。
"""
# 1.导入selenium
from selenium import webdriver
from time import sleep

# 2.打开浏览器
driver = webdriver.Chrome()

# 3.打开我的Python文档页面
url = "https://blog.csdn.net/Liuyuelinjiayou/article/details/105789238"
driver.get(url)
sleep(2)

# 4. 多窗口切换操作
# 4.1 获取当前窗口句柄
handle = driver.current_window_handle
print('点击之前的窗口句柄是:', handle)
print('点击前的url:', driver.current_url)

# 4.2 点击页面中的超链接触发多窗口
driver.find_element_by_link_text("PyCharm下载与安装").click()
sleep(2)

# 4.2 获取所有窗口句柄
handles = driver.window_handles

# 4.3 进入新窗口
driver.switch_to.window(handles[1])
print('点击之后浏览器所有的窗口句柄是:', handles)
print('点击后的url:', driver.current_url)

# 4.5 退出新窗口
# 你需要退到哪个窗口就写哪个窗口的handle索引
# 因为handle在上边赋值等于第一个窗口了,这里就可以写handle
# 也可以写handles[0]
driver.switch_to.window(handle)
sleep(10)

# 5.关闭浏览器
driver.quit()

"""
输出结果:
点击之前的窗口句柄是: CDwindow-6F1E6437F354913663E6A7E5A1486784
点击前的url: https://blog.csdn.net/Liuyuelinjiayou/article/details/105789238

点击之后浏览器所有的窗口句柄是: ['CDwindow-6F1E6437F354913663E6A7E5A1486784', 'CDwindow-48640D53F053821ED38D21B87E549A73']
点击后的url: https://blog.csdn.net/Liuyuelinjiayou/article/details/105729957
"""

最后我这里给你们分享一下我所积累和真理的文档和学习资料有需要是领取就可以了

1、学习思路和方法

这个大纲涵盖了目前市面上企业百分之99的技术,这个大纲很详细的写了你该学习什么内容,企业会用到什么内容。总共十个专题足够你学习

Selenium基础 — 多窗口操作

2、想学习却无从下手,该如何学习?

这里我准备了对应上面的每个知识点的学习资料、可以自学神器,已经项目练手。

Selenium基础 — 多窗口操作

Selenium基础 — 多窗口操作

3、软件测试/自动化测试【全家桶装】学习中的工具、安装包、插件....

Selenium基础 — 多窗口操作

Selenium基础 — 多窗口操作

Selenium基础 — 多窗口操作

4、有了安装包和学习资料,没有项目实战怎么办,我这里都已经准备好了往下看

Selenium基础 — 多窗口操作

最后送上一句话:
世界的模样取决于你凝视它的目光,自己的价值取决于你的追求和心态,一切美好的愿望,不在等待中拥有,而是在奋斗中争取。
如果我的博客对你有帮助、如果你喜欢我的文章内容,请 “点赞” “评论” “收藏” 一键三连哦

Selenium基础 — 多窗口操作文章来源地址https://www.toymoban.com/news/detail-408736.html

到了这里,关于Selenium基础 — 多窗口操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • selenium窗口切换和关闭指定窗口

    但有一个问题就是它会默认关闭新打开的窗口而且close函数无法传入其他参数 那么该如何关闭其他窗口呢?以某度网站为例 点击百度图标打开另一窗口 使用如下代码进行关闭 会发现新窗口被关闭,如图一所示    将代码改成这样,就能做到关闭指定窗口的操作,效果如下

    2024年02月11日
    浏览(34)
  • selenium窗口切换

    说明:本篇博客基于selenium 4.1.0 场景:点击某个按钮后,页面是在一个新的浏览器中出现。如百度的’更多’按钮 问题:浏览器可能自动切换到了新页面,但是 selenium的driver还停留在旧页面,导致无法操作新页面 解决:使用selenium的窗口切换功能,切换到新页面之后再进行操

    2024年02月11日
    浏览(43)
  • Selenium--多个窗口切换句柄

    切换句柄,使用在多个窗口的情况,如我们打开一个网址,但是可以跳转至多个窗口,以下以新浪网为例子。 (1)driver.current_window_handle 获取当前窗口句柄 (2)driver.window_handles 获取所有窗口句柄 (3)driver.switch_to.window(handle) 切换指定句柄窗口 (4)driver.close() 关闭当前的句

    2024年02月12日
    浏览(38)
  • Selenium 切换窗口

    当前窗口点开一个链接后,打开了一个新的标签窗口,我需要在新标签中进行后面的操作 下面以 Python 代码演示 首先,切换窗口可以使用WebDriver类的switch_to.window()方法来完成 然后,获取当前窗口的句柄(handle),再后获取所有窗口的句柄,切换到新窗口的句柄上 举个例子:

    2024年02月07日
    浏览(37)
  • Selenium之窗口切换

    窗口切换 1、动作:导致新窗口的出现 2、获取:所有窗口的句柄。driver.window_handles  # 是个列表 3、切换:driver.switch_to.window(窗口句柄) 获取当前窗口的句柄语法:driver.current_window_handle 案例:

    2024年01月16日
    浏览(37)
  • selenium的窗口切换

    如何进入到新窗口进行提取? web.switch_to.window(web.window_handles[-1]) 关掉子窗口 web.close() 变更selenium窗口,回到原来的窗口 web.switch_to.window(web.window_handles[0]) 实例

    2024年02月11日
    浏览(48)
  • Selenium同窗口和标签一起工作

    目录 窗口和标签页 切换窗口或标签页 创建新窗口(或)新标签页并且切换 关闭窗口或标签页

    2024年02月11日
    浏览(39)
  • selenium多窗口、多iframe切换、alert切换

    场景: 在页面操作过程中有时候点击某个链接会弹出新的窗口,这时就需要切换到新打开的窗口上进行操作。这种情况下,需要识别多标签或窗口的情况。 操作方法: switch_to.window()方法:切换窗口。可以实现在不同的窗口之间切换。current_window_handle:获得当前窗口句柄。

    2024年02月07日
    浏览(43)
  • 【Selenium自动化测试】窗口切换

    在Web自动化测试过程中,有时单击某个链接会弹出新的窗口,这时就需要切换到新打开的窗口中进行操作。WebDriver 提供的 switch_to.window() 方法可以实现在不同的窗口之间进行切换。 主要用到的相关方法: current_window_handle:获得当前窗口句柄。 window_handles:返回所有窗口的句

    2024年02月11日
    浏览(40)
  • python自动化测试selenium(四)切换页面、切换窗口

    一、切换页面 如果定位元素失败(抛出NoSuchElementException),调查网页源代码,发现这个元素位于一个frame或iframe标记的元素下的子网页(html标记)里,那么此时需要切换Frame。 切换方法一:使用frame或iframe标记的元素的id或name属性值来作为切换条件 switch_to.frame() 将当前定位

    2024年02月12日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包