Robot Framework:如何过滤FOR循环返回文本列表中的空文本项
解决Robot Framework过滤空链接文本的问题
修改思路
- 过滤空文本:获取链接文本后,先去除首尾空白字符,再判断是否为非空字符串,只保留这类有效条目。
- 遍历完整元素:原循环范围
1 ${Count}-1会漏掉最后一个元素,调整为1 ${Count}+1(Robot Framework的IN RANGE是左闭右开区间),确保遍历全部<a>标签。
修改后的代码
TEST ${Count}= Get Element Count //a Log To Console Total= ${Count} \n FOR ${INDEX} IN RANGE 1 ${Count}+1 ${text}= Get Text xpath=(//a)[${INDEX}] # 去除文本首尾空白,避免全空格的"伪空"条目被误判 ${clean_text}= Strip String ${text} ${has_href}= Run Keyword And Return Status Get Element Attribute xpath=(//a)[${INDEX}] @href # 按需选择判断条件:若仅需过滤空文本,可去掉${has_href} Run Keyword If ${has_href} and '${clean_text}' != '' Log To Console ${INDEX}. "Link Text=" ${clean_text} END
关键说明
Strip String的作用:过滤掉仅含空格、换行等空白字符的无效条目,避免误判。- 条件
'${clean_text}' != '':确保只输出有实际内容的链接文本。 - 若不需要判断href是否存在,直接保留文本非空的判断即可。
内容的提问来源于stack exchange,提问作者Justin Hooks
相关产品推荐
相关产品推荐

