一次性登录保存状态¶
async with async_playwright() as p:
browser = await p.chromium.launch()
ctx = await browser.new_context()
page = await ctx.new_page()
await page.goto('https://example.com/login')
await page.fill('input[name=u]', 'me')
await page.fill('input[name=p]', 'secret')
await page.click('button[type=submit]')
await ctx.storage_state(path='state.json')
之后每次直接复用¶
ctx = await browser.new_context(storage_state='state.json')
page = await ctx.new_page()
await page.goto('https://example.com/dashboard')
登录一次,状态文件反复用;过期再重新登录。