如何在红宝石水豚中使用单个查找来搜索多个定位器?

阿米特

在Ruby / Capybara中,我尝试在单个find查询中搜索多个(两个)定位器(css​​),发现它会自动搜索两个定位器并在页面上显示的定位器上执行操作。前任-find("css1","css2").set "ABC"

我观察到,在运行脚本时,在运行时它将搜索两个定位器,并将对页面上显示的定位器执行操作。

但是,当我使用xpath尝试相同的逻辑时,它不起作用,并抛出找不到元素错误或无效的选择器(页面上存在一个xpath)。前任-find(:xpath,"xpath1","xpath2").set "ABC"

任何人都可以请帮助我们如何在ruby capybara中为xpath做到这一点。

托马斯·沃尔波尔

您显示的示例find("css1","css2").set "ABC"实际上不会通过传递的“ css2”参数执行任何操作,并且在当前版本的Capybara中,实际上会发出有关未使用参数的警告。什么会起作用

find("css1, css2").set("ABC") 

因为它使用的是分组逗号,它将查找与css1或css2匹配的项。在XPath中,您可以使用并运算符| 这将返回与xpath1或xpath2匹配的元素

find(:xpath, "xpath1 | xpath2").set("ABC")

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章