获得红宝石黄瓜中的元素值

时间:2014-08-04 10:18:23

标签: ruby-on-rails ruby cucumber

我正在使用Ruby On Rails应用程序编写黄瓜功能的第一步,并且正在努力获取元素的值。

结构是这样的:

<div class="selectize-dropdown-content">
 <div data-value="test1" data-selectable="" class="option">TEST 1</div>
 <div data-value="test2" data-selectable="" class="option">TEST 2</div>
</div>

当数据值为&#34; test1&#34;时,我想得到div元素的值。 ......所以,TEST 1

目前我这样做:

within(:xpath, '//div[@class="selectize-dropdown-content"]') do
  find(:xpath, '//div[@data-value="' + value + '"]')
end

但它未能找到&#34;&#34; DIV。 所以,我想我做错了。

如何解决这个问题?

THX

2 个答案:

答案 0 :(得分:0)

您需要在所需元素上调用text方法

within('.selectize-dropdown-content') do
  find(:xpath, "//div[@data-value='#{value}']").native.text
end

答案 1 :(得分:0)

如果您的ID代码块的父元素可以执行以下操作:

text = page.find('#parentID div:nth-child(1) div:first-child', visible: true).text

如果你不尝试使用javascript

text=page.evaluate_script('document.getElementsByClassName("selectize-dropdown-content")[0].getElementsByTagNam("div")[0].value')