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

Selenium场景下如何获取跳转至最终URL过程中中间重定向URL的查询参数

Selenium提取重定向链路URL的实现方案

以下是两种生产环境常用的实现方法,均可直接拿到完整的重定向URL列表:

方法1:基于Chromium内核浏览器性能日志实现(无需额外依赖)

该方案利用Chrome/Edge自带的性能日志捕获页面跳转记录,无需安装第三方扩展,适配绝大多数测试场景。
示例代码(Python):

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import json

# 配置开启性能日志捕获
chrome_options = Options()
chrome_options.set_capability(
    "goog:loggingPrefs", {"performance": "ALL"}
)
driver = webdriver.Chrome(options=chrome_options)

# 访问测试入口地址
driver.get("你的测试入口URL")

# 解析日志提取顶层页面跳转链路
logs = driver.get_log("performance")
redirect_chain = []

for entry in logs:
    log_msg = json.loads(entry["message"])["message"]
    # 仅保留顶层页面的导航事件,过滤iframe跳转
    if log_msg["method"] == "Page.frameNavigated" and not log_msg["params"]["frame"].get("parentId"):
        current_url = log_msg["params"]["frame"]["url"]
        if current_url not in redirect_chain:
            redirect_chain.append(current_url)

# 输出完整重定向列表
print(redirect_chain)

# 校验指定查询参数是否存在
check_param = "你要校验的参数名"
for url in redirect_chain:
    if f"{check_param}=" in url:
        print(f"匹配到含指定参数的中间URL:{url}")
        break

driver.quit()

注意事项:

  • 仅适配Chromium内核浏览器(Chrome、Edge),Firefox需单独配置日志规则
  • 日志会记录所有页面请求,需自行过滤静态资源、iframe等非主链路跳转

方法2:基于Selenium Wire扩展实现(跨浏览器、功能更全面)

如果需要跨浏览器支持,或者要获取状态码、请求头这类额外信息,可以使用Selenium Wire扩展,它会自动拦截所有网络请求。

  1. 安装依赖:
    pip install selenium-wire
  2. 示例代码:
from seleniumwire import webdriver

driver = webdriver.Chrome()
driver.get("你的测试入口URL")

redirect_chain = []
# 筛选重定向类型的主页面请求
for req in driver.requests:
    if req.response and req.response.status_code in [301,302,303,307,308] and req.response.headers.get("Content-Type","").startswith("text/html"):
        if req.url not in redirect_chain:
            redirect_chain.append(req.url)
# 补充最终页面URL
redirect_chain.append(driver.current_url)

print(redirect_chain)
driver.quit()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 11:15:01