用python操作playwright来测量白屏时间, 传统意义上的

91 阅读1分钟
from playwright.sync_api import sync_playwright

def measure_white_screen_time(url):
    with sync_playwright() as p:
        # 启动无头浏览器
        browser = p.chromium.launch(headless=True)
        context = browser.new_context()
        page = context.new_page()

        # 导航到目标页面
        page.goto(url)

        # 获取导航开始时间
        navigation_start = page.evaluate("() => window.performance.timing.navigationStart")

        # 获取首次绘制时间
        first_paint_time = page.evaluate("() => window.performance.timing.firstPaint")

        # 计算白屏时间
        white_screen_time = first_paint_time - navigation_start

        print(f"白屏时间: {white_screen_time} 毫秒")

        # 关闭浏览器
        browser.close()

# 示例调用
url = "https://example.com"
measure_white_screen_time(url)