【playwright】新一代自动化测试神器playwright+python系列课程25_playwright网页切换

Playwright网页切换

在网页上点击一些按钮或超链接时,有时会打开一个新的网页而不是一个窗口。这个时候如果下一步操作是在新的网页上,那么就需要切换网页窗口,切换到网页后再执行元素定位等操作。playwright处理浏览器多窗口切换简单快捷。下边老姜就给小伙伴们或者童鞋们介绍一下playwrigh如何处理浏览器多个窗口的切换方法。
窗口切换过程:
1、 context.pages 获取所有的page对象,返回数据类型为列表,列表中的网页对象的索引按照打开顺序从0开始依次递增。
2、 page. bring_to_front() 激活网页,将网页显示在屏幕最上层,本行代码不写也不影响脚本执行。
3、 page.close() 关闭网页
我们以万年历、计算器这几个网页为例来看一下如何切换网页。
在这里插入图片描述

实践代码:

 '''
author: 测试-老姜   交流微信/QQ:349940839
#欢迎添加微信或QQ,加入学习群共同学习交流。
#QQ交流群号:877498247
#西安的朋友欢迎当面交流。
 '''

from playwright.sync_api import Playwright, sync_playwright, expect
playwright = sync_playwright().start()
browser = playwright.chromium.launch(headless=False, args=['--start-maximized']) #默认无头模式,设置浏览器最大化
context = browser.new_context(no_viewport=True) # 创建上下文,相当浏览器于实例化,即打开浏览器
page = context.new_page() # 打开一个新标签页
page.goto("http://127.0.0.1:8080/oa/login.jsp") # 打开网址
page.wait_for_timeout(2000)
page.get_by_role('link',name='万年历').click()
page.get_by_role('link',name='计算器').click()
page.wait_for_timeout(2000)
page_li = context.pages
page_li[1].bring_to_front() #万年历切换到最上层
for _ in range(3):
    page_li[1].locator('#yuejia').click() #定位万年历页面上的元素并点击
    page.wait_for_timeout(2000)
page_li[2].bring_to_front() # 计算器切换到最上层
for _ in range(3):
    page_li[2].locator('[name="k7"]').click() #定位计算器页面上的元素并点击
    page.wait_for_timeout(2000)

page_li[1].close() # 关闭万年历
page.wait_for_timeout(2000)
page_li[2].close() # 关闭计算器
page.wait_for_timeout(10000)
context.close()
browser.close()
playwright.stop()
  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值