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

Robot Framework:如何获取HTML中可变位置的目标文本?

正确捕获目标文本的Robot Framework方法

你的问题核心是XPath定位逻辑错误:目标文本和<span class="labelText">Number: </span>处于同一个<p>标签内,但你之前的XPath错误指向了相邻的<p>标签,同时还存在拼写错误(lableText应为labelText),导致无法捕获目标内容。

以下是两种可行的解决方案:

方法1:先获取父p的全部文本,再提取目标部分

先通过span的特征定位到包含目标文本的<p>标签,获取完整文本后清理无关内容:

# 定位到包含Number: span的p标签,获取全部文本
${full_p_text}=    Get Text    xpath=//div[@id="testblock"]//p[span[@class="labelText" and contains(text(), "Number: ")]]
# 移除"Number: "文本
${cleaned_text}=    String Replace    ${full_p_text}    Number:    ${EMPTY}
# 去掉前后的引号和多余空格
${target_text}=    String Strip    ${cleaned_text}    " "

方法2:用XPath直接选取目标文本节点

通过XPath直接选取<p>标签下的独立文本节点(排除span的文本),再清理格式:

# 选取p标签下的第二个文本节点(对应目标内容所在节点)
${raw_text}=    Get Text    xpath=//div[@id="testblock"]//p[span[@class="labelText" and contains(text(), "Number: ")]]/text()[2]
# 清理前后的引号和空格
${target_text}=    String Strip    ${raw_text}    " "

关键说明

两种方法都不依赖<p>标签的固定位置,而是通过span的特征动态定位父容器,完全适配你提到的“p标签位置不固定”的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 19:42:47