python的playwright获取网页上已发生的请求
时间: 2024-11-25 10:14:02 浏览: 8
python-playwright修改GET/POST请求参数,抓包修改数据
Playwright是一个由Microsoft开发的跨平台库,用于自动化浏览器操作,包括发送HTTP请求和处理响应。如果你想要获取Python Playwright中已经发生的网络请求,你可以使用`playwright-page`模块,特别是`Page.route()`函数来监听特定URL的请求。
首先,你需要安装`playwright-python`和`playwright-page`:
```bash
pip install playwright-python playwright-page
```
然后,在你的Python代码中,你可以这样设置一个路由规则来捕获请求:
```python
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch()
context = browser.new_context()
page = context.new_page()
# 监听所有请求
def on_request(request):
print(f"Received request: {request.method} {request.url}")
# 添加路由规则
page.route('**', on_request)
# 访问网页
page.goto("https://example.com")
# 等待请求完成后关闭浏览器
browser.close()
```
在这个例子中,`on_request`函数会在每次收到请求时被调用,你可以在此检查请求的方法、URL、headers等信息。如果你想只获取某个特定URL或类型的请求,只需修改路由规则的正则表达式即可。
阅读全文