ruby on rails - How to find a link that has text nested in a div with Capybara? -
i'm trying find link in navbar, nested so:
<div class="menu logged-out" id="loggedoutmenu"> <a href="/users/auth/twitter?state=navbar_basic" data-no-instant> <div class="option"> via twitter</div> </a> </div> i've tried using following methods , none of them have worked:
find_link("via twitter")find_link("via twitter", {href: "/users/auth/twitter?state=navbar_basic"})find('div', {class: 'option'})
not sure how grab element... main goal test link via click_link.
edit: here's full html structure:
<body> <div class="top-bar" id="top-bar"> <nav> <--- other nav elements not listed ---> <div class="navigation-butt desktop" id="navigation-butt"> <div class="menu logged-out" id="loggedoutmenu"> <a href="/users/auth/twitter?state=navbar_basic" data-no-instant> <div class="option"> via twitter</div> </a> </div> </div> </nav> </div> </body>
i'm guessing menu collapsed , haven't done open it, link isn't visible on page. assuming need click on '#loggedoutmenu' item open menu like
find('#loggedoutmenu').click.click_link('via twitter') which click on 'loggedoutmenu' link inside it, , click link when found. if clicking on '#loggedoutmenu' isn't how open menu you'll need provide more info.
update: have indicated menu opens on hover - assuming user has hover on ancestor of button want click can do
find('<css selector visible element user needs hover over>').hover.click_link('via twitter')
Comments
Post a Comment