使用所选项目的下拉菜单,如何使用capybara获取其名称/标签

guc*_*cki 12 label capybara drop-down-menu

鉴于以下下拉列表:

<select id="my-dropdown" name="my-dropdown">
  <option value="1">Peter</option>
  <option value="2" selected>Pan</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用以下代码获取当前选择的值(此处为2):

find_field("#my-dropdown").value
Run Code Online (Sandbox Code Playgroud)

但是如何获得当前选择的名称/标签(Pan here)?下面的代码并不能正常工作:

find_field("#my-dropdown").label
Run Code Online (Sandbox Code Playgroud)

谢谢 :)

nol*_*oli 18

您可以使用css3选择器查找所选项目,

http://net.tutsplus.com/tutorials/html-css-techniques/the-30-css-selectors-you-must-memorize/

并在元素上调用'text'方法来获取文本.

http://rubydoc.info/github/jnicklas/capybara/master/Capybara/Node/Element:text

尝试:

find_field('#my-dropdown option[selected]').text
Run Code Online (Sandbox Code Playgroud)