python playwright beforeunload使用
时间: 2024-05-22 14:06:16 浏览: 158
在 Python Playwright 中,可以使用 `beforeunload` 事件来检测浏览器即将关闭的事件。以下是一个简单的示例:
```python
import asyncio
from playwright.async_api import async_playwright
async def main():
async with async_playwright() as p:
browser = await p.chromium.launch()
page = await browser.new_page()
# 在页面加载完成后添加事件监听器
await page.goto("https://www.google.com")
await page.evaluate("window.addEventListener('beforeunload', () => { console.log('页面即将关闭'); });")
# 关闭页面并等待 beforeunload 事件触发
await page.close()
await asyncio.sleep(1)
await browser.close()
asyncio.run(main())
```
以上代码中,我们在页面加载完成后添加了一个 `beforeunload` 事件监听器,当页面即将关闭时,会在控制台输出一条信息。然后我们关闭页面并等待一秒钟,以确保事件已经触发。
请注意,在某些情况下,`beforeunload` 事件可能无法正常工作,例如在某些浏览器中使用 `page.goBack()` 方法或浏览器崩溃时。因此,在使用这个事件时需要小心谨慎。
阅读全文