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

RobotFramework:如何将页面元素ID值存入变量及匹配方法问题

刚好这两个问题都是Robot Framework UI自动化中经常遇到的,我来给你详细解答:

问题1:将页面元素ID对应的值存入变量

要把元素的内容或属性值存入变量,核心是用Robot Framework提供的元素内容获取关键字,分两种场景:

  • 如果要获取元素的显示文本内容(比如div、span标签里的文字),使用Get Text关键字,结合ID定位器:
${element_text}=    Get Text    id=your_element_id

举个例子:如果页面有<p id="welcome_msg">Hello, User!</p>,执行上面的代码后,${element_text}就会被赋值为Hello, User!。

  • 如果要获取元素的属性值(比如输入框的value、按钮的class等),使用Get Attribute关键字,需要额外指定要获取的属性名称:
# 获取输入框的value属性值
${input_value}=    Get Attribute    id=your_input_id    value

比如对于<input id="phone" value="13800138000">,这段代码会把13800138000存入${input_value}变量。

问题2:使用Should Match/Should Match Regexp验证元素内容

你提到的问题本质是:Should Match和Should Match Regexp的第一个参数要求是字符串类型,而不是元素定位器(比如id:xxx),所以不能直接把定位器传给它。解决思路是先把元素的内容取到变量里,再用变量来做匹配验证。

针对你说的ID为igtxtctl00_wtbHouseNumber的元素,假设这是一个输入框(需要验证它的输入值),具体步骤如下:

  1. 先获取元素的value属性值到变量:
${house_number}=    Get Attribute    id=igtxtctl00_wtbHouseNumber    value

如果这个元素是静态文本标签(比如div),就换成Get Text:

${house_number}=    Get Text    id=igtxtctl00_wtbHouseNumber
  1. 用Should Match Regexp验证变量内容是否符合正则规则:
# 示例:验证房屋编号只能包含数字和大小写字母
Should Match Regexp    ${house_number}    ^[0-9A-Za-z]+$    房屋编号格式错误,只能包含数字和字母

其中第三个参数msg是可选的,用来自定义验证失败时的报错信息,让排查问题更直观。

如果是需要精确匹配字符串(不是正则),就用Should Match:

Should Match    ${house_number}    123MainSt    房屋编号与预期值不符

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 09:03:51