查找HTML元素Capybara的索引

时间:2015-11-06 11:48:12

标签: ruby-on-rails cucumber capybara

我正在尝试使用Capybara编写步骤定义,用于Cucumber场景,该场景旨在确认主页上的复选框出现在选项之前。

从机制上讲,我试图使用其HTML ID找到特定html复选框的索引,并将其与主页上特定文本的索引进行比较。但是,我在这个问题上花费了数小时,但未能实现步骤定义。

例如,我能以某种方式将页面转换为文本并只搜索单词吗?

对于这个Web应用程序,我正在使用Ruby on Rails。
设:复选框id = environment_Cool
让:页面上的文字=酷

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

假设你有一个像这样的复选框:

<form action="demo_form.asp">
  <span>
  <input type="checkbox" name="coolness" value="Cool" id="environment_Cool"  checked> Cool</span>
  <br>
  <span>
  <input type="checkbox" name="coolness" value="Cool"> Not So Cool</span><br>
  <input type="submit" value="Submit">
</form> 
  

从机械上讲,我试图找到特定html的索引   复选框使用其HTML ID

page.find('[@id=environment_Cool ]')
  

并将其与主页上特定文本的索引进行比较。   然后它应该在清单的父级返回文本,即“酷”。

puts page.find('[@id=environment_Cool ]').find(:xpath,".//..").text