在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] 删除。
我来说两句