You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Playwright中page.route是否支持参数字段添加URL参数?

Playwright page.route 参数对象构造URL方案

Playwright的page.route方法本身并不支持你提到的这种param字段来直接传入参数对象构造目标URL,但可以通过以下两种方式优雅地实现类似需求:

1. 手动用URLSearchParams拼接参数

通过URLSearchParams工具类将参数对象转换为查询字符串,再和基础URL拼接,避免手动拼接字符串的繁琐和错误:

const baseUrl = API_URL;
const params = new URLSearchParams({
  id: "9ffdbg94443rf0485ngdfjfa",
  source: "admin"
});
const targetUrl = `${baseUrl}?${params.toString()}`;

await page.route(
  targetUrl,
  async (route) => {
    await route.fulfill({
      json: fixture,
      status: 200,
    });
  },
);

2. 用匹配函数动态判断请求参数

如果需要匹配带有指定参数的任意请求(而非精确匹配某个参数值的固定URL),可以传入一个自定义匹配函数,解析请求URL的参数进行判断:

await page.route(
  (url) => {
    const parsedUrl = new URL(url);
    // 验证基础路径和目标参数
    return parsedUrl.origin + parsedUrl.pathname === API_URL &&
           parsedUrl.searchParams.get('id') === "9ffdbg94443rf0485ngdfjfa" &&
           parsedUrl.searchParams.get('source') === "admin";
  },
  async (route) => {
    await route.fulfill({
      json: fixture,
      status: 200,
    });
  },
);

内容的提问来源于stack exchange,提问作者Mehmet Can BOZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 00:45:59