from playwright.sync_api import Playwright, sync_playwright
def run(playwright: Playwright) -> None:
browser = playwright.chromium.launch(
headless=False, # 本地调度不使用headless 自动打开浏览器界面,服务器设置为True
args=['--start-maximized']
)
# 增加设置窗口大小
context = browser.new_context(ignore_https_errors=True,viewport={'width': 1792, 'height': 1120})
page = context.new_page()
page.goto("https://kibana.liujinye.example/")
page.get_by_label("用户名").fill("elastic")
page.get_by_label("密码", exact=True).fill("xxxxxxxxxxxx")
page.get_by_role("button", name="登录").click()
# 增加等待页面加载超时时间
page.wait_for_timeout(5000)
# 在浏览器中输入要请求的dashboard
page.goto("https://kibana.liujinye.example/app/dashboards#/view/c95bd6e0-7a22-11ee-8b13-0f9a027c16f6?_g=(refreshInterval%3A(pause%3A!t%2Cvalue%3A60000)%2Ctime%3A(from%3Anow-7d%2Fd%2Cto%3Anow))")
# 增加等待页面加载超时时间
page.wait_for_timeout(10000)
# 添加的截图代码
page.screenshot(path=f'example.png', full_page=True)
context.close()
browser.close()
with sync_playwright() as playwright:
run(playwright)