Robot Framework - 检查 xpath 定义的元素是否存在

新手上路,请多包涵

我想知道,我很想找到或编写条件来检查某些元素是否存在。如果确实如此,我想执行 IF 条件的主体。如果它不存在而不是执行 ELSE 的主体。

有这样的条件还是有必要自己写?

原文由 Petr Bečka 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

通过使用 xpath 定位元素,我假设您使用的是 Sselenium2Library 。在该库中有一个名为的关键字:

Page Should Contain Element 需要一个参数,即 selector ,例如定义元素的 xpath。

如果页面不包含指定元素,则关键字失败。

对于条件,使用这个:

${Result}= Page Should Contain Element ${Xpath} Run Keyword Unless '${RESULT}'=='PASS' Keyword args*

您还可以使用其他关键字: Xpath Should Match X Times

原文由 Richard Zilahi 发布,翻译遵循 CC BY-SA 3.0 许可协议

我更喜欢使用 Get Matching XPath Count 因为如果找不到元素,接受的答案会抛出错误

${count}= Get Matching XPath Count ${Xpath}
Run Keyword And Return If   ${count} > 0 Keyword args*

原文由 Narasimha 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题