Capybara找到咏叹调的元素值

时间:2015-07-24 03:49:26

标签: ruby-on-rails capybara

我想获得aria的价值,因为下面的代码在capybara:

<button aria-pressed="true" class="btn btn-default active" data-active="true" data-toggle="button" id="grid-filter-invited-button" type="button">
  Invited
</button>

它是一个按钮...当我点击它时,它的咏叹调值会在真假之间切换。我想要&#34; aria-pressed&#34;的值。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

节点有一个返回属性值的[]方法。

capybara_element['attribute_name']允许访问Capybara

中的元素属性
aria-pressed = page.find('button#grid-filter-invited-button')['aria-pressed']
puts aria-pressed
#=> "true"

Reading an element's attributes with Capybara

答案 1 :(得分:0)

我假设您要检查值是否已更改。您应该能够使用xpath表达式断言。由于它是布尔值,您可以通过检查结果var array_of_children = get_immediate_children_for($("Something[attribute='first']")); $(document).ready(function() { var data; if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function(position) { var lat = position.coords.latitude; var lon = position.coords.longitude; console.log(lat); console.log(lon); console.log("api.openweathermap.org/data/2.5/weather?lat=" + lat + "&lon=" + lon + "&APPID=4907e373098f091c293b36b92d8f0886"); $.getJSON("api.openweathermap.org/data/2.5/weather?lat=" + lat + "&lon=" + lon + "&APPID=4907e373098f091c293b36b92d8f0886", function(json) { data = json; console.log(data.name); $("#city").text(data.name); }); }); } }); 来获取值。

类似的东西:

nil

或期望它被按下:

empty

另外,看一下类似问题的答案。您也可以使用css选择器:RSpec + Capybara: How do I test a Bootstrap progress bar