Robot Framework如何灵活获取订单金额并设为变量?
解决Robot Framework动态获取订单金额的XPath写法问题
你不需要通过硬编码金额来定位元素,而是可以利用元素的固定属性来匹配,这样就能灵活获取动态变化的订单金额。
具体修改方案:
- 目标元素有一个固定的
data-bind属性值:html: HtmlEntityEncoder.htmlDecode(text()),这个属性不会随订单金额变化,完全可以用它来定位元素。 - 替换后的XPath不需要包含具体金额,直接写成:
//div[@data-bind="html: HtmlEntityEncoder.htmlDecode(text())"] - 如果这个div是父级div下的第一个子div,也可以保留层级关系,写成:
//div[1]/div[@data-bind="html: HtmlEntityEncoder.htmlDecode(text())"]
Robot Framework代码示例:
${Order_Amount_Checkout_Page}= Get Text //div[@data-bind="html: HtmlEntityEncoder.htmlDecode(text())"]
执行后,${Order_Amount_Checkout_Page}变量就会自动获取到当前页面的订单金额(比如€ 38,66这类动态值),无需每次修改XPath中的硬编码金额。
内容的提问来源于stack exchange,提问作者Otomation
相关产品推荐
相关产品推荐

