我需要点击页眉中的链接:
<div class="fixed">
<nav class="top-bar" data-options="is_hover:false">
...
<section class="top-bar-section">
<ul class="left">
...
<li ng-show="hasPermission('ROLE_MESSAGE')" class=""><a href="#/message" class="ng-binding">Message</a></li>
</ul>
</section></nav>
</div>
但任何尝试都会因“元素不可见错误”而失败。 这似乎很奇怪,因为在上一步我以具有ROLE_MESSAGE权限的用户身份登录。 试过不同的定位器,但都没有用。
答案 0 :(得分:2)
最有可能的是,您首先需要打开菜单,然后点击链接:
var navigationMenu = element(by.css("nav.top-bar"));
navigationMenu.click();
navigationMenu.element(by.linkText("Message")).click();
或者,您可能需要将鼠标悬停在导航菜单上而不是单击它:
var navigationMenu = element(by.css("nav.top-bar"));
browser.actions().mouseMove(navigationMenu).perform();
navigationMenu.element(by.linkText("Message")).click();
如果它没有用,你可以点击javascript链接,但我会尽量避免:
var navigationMenu = element(by.css("nav.top-bar"));
var messageLink = navigationMenu.element(by.linkText("Message")).click();
browser.executeScript("arguments[0].click();", messageLink);