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

如何在Python Selenium中提取响应里的id与code独立值(可借助正则)

用Python Selenium提取id和code值的两种方法

假设你已经通过Selenium获取到了目标字符串(比如从页面元素、网络响应中拿到id=51555263943&code=q15cd225s6s8这类内容),下面是两种提取id和code独立字符串的方案:

方法一:用urllib.parse解析(推荐,无需正则)

这种方法专门针对URL查询参数格式的字符串,简单可靠:

from urllib.parse import parse_qs

# 替换成你从Selenium获取到的实际字符串
target_str = "id=51555263943&code=q15cd225s6s8"

# 解析为字典,键对应参数名,值是参数值的列表
parsed_data = parse_qs(target_str)

# 提取id和code的值(取列表第一个元素)
id_val = parsed_data["id"][0]
code_val = parsed_data["code"][0]

# 验证结果
print(id_val)   # 输出:51555263943
print(code_val) # 输出:q15cd225s6s8

方法二:用正则表达式提取

如果必须用正则,这里提供现成的表达式,直接套用即可:

import re

# 替换成你从Selenium获取到的实际字符串
target_str = "id=51555263943&code=q15cd225s6s8"

# 匹配id值:捕获'id='后到'&'前的所有字符
id_match = re.search(r'id=([^&]+)', target_str)
id_val = id_match.group(1) if id_match else ""

# 匹配code值:捕获'code='后到字符串结尾的所有字符
code_match = re.search(r'code=([^&]+)', target_str)
code_val = code_match.group(1) if code_match else ""

# 验证结果
print(id_val)   # 输出:51555263943
print(code_val) # 输出:q15cd225s6s8

补充:Selenium获取目标字符串的常见场景

  • 从页面元素提取:如果字符串是页面某个元素的文本,用元素定位获取:
    from selenium.webdriver.common.by import By
    
    target_str = driver.find_element(By.XPATH, "//元素的XPath路径").text
    
  • 从网络响应提取:如果字符串是接口响应体,可通过Chrome DevTools协议捕获网络日志,再提取响应内容(需根据实际请求URL过滤):
    import json
    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    chrome_options = Options()
    chrome_options.set_capability('goog:loggingPrefs', {'performance': 'ALL'})
    driver = webdriver.Chrome(options=chrome_options)
    driver.get("你的目标页面URL")
    
    # 遍历网络日志找目标请求
    for log in driver.get_log('performance'):
        msg = json.loads(log['message'])['message']
        if 'Network.responseReceived' in msg['method']:
            resp_url = msg['params']['response']['url']
            if '目标请求的特征关键词' in resp_url:
                # 获取响应体
                resp_body = driver.execute_cdp_command('Network.getResponseBody', {'requestId': msg['params']['requestId']})
                target_str = resp_body['body']
                break
    
    driver.quit()
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 23:43:19