如何使用Playwright发送带请求体的GET请求
在Playwright中发送带请求体的GET请求(用于Elasticsearch查询)
你需要用Playwright发送带请求体的GET请求查询Elasticsearch,但request.get()方法没有类似POST的data参数,强行添加会报错。
直接用Playwright的request.fetch()方法就能解决这个问题——它是更通用的请求方法,支持任意HTTP方法和请求体,完美适配这种场景。
修改后的代码示例:
test("Get simki", async ({request})=> { const response = await request.fetch('http://test.test.be/es/ad_matrix_agg_*/_search', { method: 'GET', headers:{ 'Authorization': 'Basic token', 'Content-Type': 'application/json' }, data: { // 这里填入你的Elasticsearch查询体,示例: query: { match_all: {} } } }); console.log(await response.json()); expect(response.status()).toBe(200); })
几点补充:
- 注意修正原URL里的错误:把
http://test,test.be改成http://test.test.be,逗号是无效的域名格式。 request.fetch()不限制请求方法和请求体的搭配,完全满足Elasticsearch GET带查询体的需求。- 确保你的查询体格式符合Elasticsearch
_search接口的规范,避免因格式问题返回错误。
内容的提问来源于stack exchange,提问作者Awesome Developer
相关产品推荐
相关产品推荐

