我正在使用许多jQuery插件,这些插件通常创建没有id或其他标识属性的DOM元素,在Capybara中获取它们的唯一方法(例如单击)是首先获取它们的邻居(其祖先的另一个子元素).但我没有找到任何地方,水豚是否支持这样的东西,例如:
find('#some_button').parent.fill_in "Name:", :with => name
?
我正在使用许多jQuery插件,这些插件通常创建没有id或其他标识属性的DOM元素,在Capybara中获取它们的唯一方法(例如单击)是首先获取它们的邻居(其祖先的另一个子元素).但我没有找到任何地方,水豚是否支持这样的东西,例如:
find('#some_button').parent.fill_in "Name:", :with => name
?
我真的觉得jamuraa的答案很有用,但在我的例子中, Select 完整的xpath给了我一个字符串的噩梦,所以我很高兴地利用了在Capybara中连接find的能力,允许我混合css和xpath Select .您的示例如下所示:
find('#some_button').find(:xpath,".//..").fill_in "Name:", :with => name
Capybara 2.0 update:find(:xpath,".//..")
很可能会导致Ambiguous match
错误.在这种情况下,使用first(:xpath,".//..")
代替.