如何使用Ruby Capybara中的单个发现来搜索多个定位器



在Ruby/Capybara中,我尝试在单个查询中搜索多个(两个)定位器(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")

最新更新