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

如何使用Robot Framework提取HTML格式API返回的数据

提取HTML中__RequestVerificationToken的value值

针对你的Robot Framework测试用例,有两种可靠的方法提取目标值:

方法一:使用BeautifulSoupLibrary(推荐)

BeautifulSoup是专门处理HTML的工具,能更稳定地解析标签,避免HTML结构微调导致提取失败。

步骤:

  1. 先安装依赖库:
pip install robotframework-beautifulsoup
  1. 修改测试用例,导入库并提取值:
*** Settings ***
Library  RequestsLibrary
Library  BeautifulSoupLibrary

*** Variables ***
${login_url}    https://testworthy.us

*** Test Cases ***
get api
    Create Session    mysession     ${login_url}
    ${response}=    Get Request    mysession    /Login
    # 将响应内容解析为BeautifulSoup对象
    ${soup}=    Parse Response    ${response}
    # 定位name为__RequestVerificationToken的input标签
    ${token_tag}=    Find Element By Name    ${soup}    __RequestVerificationToken
    # 提取value属性值
    ${token_value}=    Get Element Attribute    ${token_tag}    value
    Log To Console  提取到的Token值:${token_value}

方法二:使用正则表达式(无需额外库)

如果不想安装新库,可利用Robot Framework自带的String库通过正则匹配提取,适合HTML结构稳定的场景。

修改后的测试用例:

*** Settings ***
Library  RequestsLibrary
Library  String

*** Variables ***
${login_url}    https://testworthy.us
# 匹配input标签中name为__RequestVerificationToken的value值的正则
${TOKEN_REGEX}    (?s)<input name="__RequestVerificationToken"[^>]+value="([^"]+)"

*** Test Cases ***
get api
    Create Session    mysession     ${login_url}
    ${response}=    Get Request    mysession    /Login
    # 将响应内容转为字符串(response.content是字节流,需解码)
    ${html_str}=    Decode Bytes To String    ${response.content}
    # 执行正则匹配,提取分组中的值
    ${match_result}=    Get Regexp Matches    ${html_str}    ${TOKEN_REGEX}    1
    # 获取匹配到的Token值
    ${token_value}=    Set Variable    ${match_result}[0]
    Log To Console  提取到的Token值:${token_value}

注意事项:

  • 方法一中,Parse Response会自动处理响应的编码,无需手动解码;
  • 方法二中的(?s)修饰符是为了让正则匹配换行符,适配你提供的多行HTML结构;如果HTML结构后续调整,正则可能需要对应修改。

内容的提问来源于stack exchange,提问作者Saad Ahmed Khan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 13:52:55