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

如何在Playwright的page.goto方法中动态向URL传递变量

问题根因

你传入page.goto的URL是普通单引号字符串,Python不会自动识别替换字符串内部的{id}占位符。请求发起时{和}会被按照URL编码规则转义为%7B和%7D,也就是你看到的异常占位结果(你贴的最终URL存在笔误,正确转义结果应为%7Bid%7D)。

修复方案

任选以下一种写法修改即可:

  • 方案1:使用f-string格式化(Python 3.6及以上版本支持,写法最简洁),在字符串前加f标记,触发Python的变量解析逻辑:
url_id = ["253443", "456545"]
for id in url_id:
    print("Inside For loop", id)
    page.goto(f'https://abc.name.co/admin/{id}/reports/stats', timeout=0)
  • 方案2:直接做字符串拼接,不使用占位符,把id变量和URL固定片段拼接为完整地址:
url_id = ["253443", "456545"]
for id in url_id:
    print("Inside For loop", id)
    page.goto('https://abc.name.co/admin/' + id + '/reports/stats', timeout=0)

补充提示:如果id参数值包含中文、空格、特殊符号,建议先用urllib.parse.quote(id)对参数值做URL编码后再拼接,避免出现请求路径异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 22:12:23