等待网页加载到某种状态
自动化测试过程中,也可以等待网页加载到某种状态,然后执行脚本,这样脚本执行的稳定性会提高。可以使用wait_for_load_state方法用于等待页面加载到指定状态。
wait_for_load_state方法可选参数:
state和timeout
其中state的默认值是load, 可选值:
load:页面完全加载完成。
domcontentloaded:DOM 内容加载完成。
networkidle - 等到500 ms没有网络请求
对于domcontentloaded和load的区别参考DOMContentLoaded与load的区别可以参考
https://www.cnblogs.com/caizhenbo/p/6679478.html
对于默认load值一般情况下都是没有问题的,如果涉及到一些异步请求,可以考虑用networkidle
实践代码:
'''
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/") # 打开网址
page.wait_for_load_state(state="load") #等待页面加载触发load事件
context.close()
browser.close()