当前位置:   article > 正文

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

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()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/277831?site
推荐阅读
相关标签
  

闽ICP备14008679号