使用Selenium关键字判断页面元素是否包含任意文本的方法咨询
结论
你示例中的Element Should Contain <xpath> *写法默认无法实现「判断元素包含任意文本」的需求,因为SeleniumLibrary的Element Should Contain关键字默认执行精确包含匹配,不识别*作为通配符。
两种可行实现方案
方案1:通用兼容写法(推荐)
先通过Get Text获取目标元素的文本内容,再校验文本非空即可,还可通过strip()方法过滤掉无意义的前后空白字符(换行、空格、制表符等),避免误判:
# 先获取元素文本 ${element_text}= Get Text <替换为你的目标元素xpath> # 校验去除空白后的文本长度大于0,即存在有效文本 Should Be True len('${element_text}'.strip()) > 0
方案2:使用通配符模式
如果你希望沿用Element Should Contain实现,可显式指定mode=glob开启通配符匹配规则,此时*就会被识别为匹配任意字符的通配符:
Element Should Contain <替换为你的目标元素xpath> * mode=glob
注意:该方案存在极小概率的误判风险——如果元素实际文本仅为
*本身,也会通过校验,不如方案1精准。
内容的提问来源于stack exchange,提问作者VIVIO
相关产品推荐
相关产品推荐

