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

在Playwright的URL断言中使用变量失败,寻求解决方法

问题解决:Playwright URL断言中使用变量

问题分析

你的代码存在两个关键问题导致变量无法被正确识别:

  • textContent() 是异步方法,必须用 await 才能获取到实际文本内容
  • 正则表达式里直接写 ('LastResult') 是把它当成了字符串字面量,没有引用变量的实际值

修正后的代码

const LAST = page.locator('#Selector1');
// 用await获取textContent的实际值
const lastResult = await page.locator('#Selector2').textContent();

await page.goto(Env.baseUrl + '/Search');

await LAST.click();
// 使用RegExp构造函数,传入变量生成正则表达式
await expect(page).toHaveURL(new RegExp(`Search#page=${lastResult}`));

补充说明

  • 变量名建议遵循JS小驼峰编码规范(如lastResult),提升代码可读性
  • 如果lastResult里包含正则特殊字符(如.、*、?等),需要先转义避免匹配出错:
    const escapedLastResult = lastResult.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    await expect(page).toHaveURL(new RegExp(`Search#page=${escapedLastResult}`));
    

内容的提问来源于stack exchange,提问作者DgutOrig

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 04:43:09