2015-01-09 64 views
0

我无法从水豚中点击元素。我已经通过其他帖子进行了搜索,没有什么能帮助我解决我的问题。如何点击与水豚下拉的元素?

,我认为看上去最好的解决办法是这样的: select "Manage Users", :from => "accountLink"

但作为回报,我得到这样的:

Admin Abilities Creates a new user 
Failure/Error: select "Manage Users", :from => "accountLink" 
Capybara::ElementNotFound: 
    Unable to find select box "accountLink" 
# ./spec/features/admin_abilities_spec.rb:15:in `block (3 levels) in <top (required)>' 
# ./spec/features/admin_abilities_spec.rb:14:in `block (2 levels) in <top (required)>' 

这里呈现的HTML:

<li class='dropdown' id='accountLink'> 
      <a class='dropdown-toggle' data-toggle='dropdown' href='#'> 
      Account 
      <b class='caret'></b> 
      </a> 
      <ul class='dropdown-menu'> 
      <li id='accountLink'><a href="https://stackoverflow.com/users/edit">Change Info</a></li> 
      <li id='impersonateLink'><a href="/staff/impersonate">Impersonate User</a></li> 
      <li id='adminLink'><a href="/admin/users">Manage Users</a></li> 
      <li><a href="/toggle_fakenames">Toggle Fake Names</a></li> 
      <li id='logoutLink'><a href="https://stackoverflow.com/users/sign_out" data-method="delete" data-placement="right" data-title="Logged in as [email protected]" rel="tooltip nofollow">Logout</a></li> 
      <li class='divider'></li> 
      <li class='disabled'><a href="#" disabled="disabled">Server Default</a></li> 
      </ul> 
     </li> 

人帮助我得到水豚点击这个元素?

回答

0

select 'Manage Users'正在寻找一个复选框,但是您的下拉列表项只是列表中的锚定标签。所以,你可以点击他们:

find('a.dropdown-toggle').click # assuming you only have one a.dropdown-toggle 
click_on 'Manage Users' # or find('#adminLink a').click 
0

有些事情应该工作

click_link "Manage Users" 

find(#adminLink).click 

注:您的HTML好像是用ID的厉害。他们应该只是一个页面上的ID的一个实例。