簡體   English   中英

AngularJs量角器:滑出菜單中的元素不可見

[英]AngularJs Protractor: Element in slide out menu not visible

我回來了更多的量角器問答。 因此,在嘗試查找滑出菜單內的元素時遇到了一個問題。

html片段:

<div class="ng-scope" ui-view="navmenu">
<nav class="menu slide-menu-left ng-scope">
  <md-content class="md-default-theme" style="display: table" ng-click="slideMenuLeft()" tabindex="0">
    <button class="md-button md-default-theme" ng-transclude="" 
            style="width:50%;height:72px;border-right:1px solid #ddd;border-bottom:1px solid #ddd" 
            ng-click="checkmap()" tabindex="0">

這是我嘗試從此菜單中抓住按鈕的方法:

element(by.css('Button[ng-click="logoff()"]'));
element(by.xpath('/html/body/section/div[@class="ng-scope"]/nav[@class="menu slide-menu-left ng-scope"]/md-content/button[@ng-click="logoff()"]'));

量角器不喜歡,並繼續告訴我:

Stacktrace:
  ElementNotVisibleError: element not visible
  (Session info: chrome=40.0.2214.115)
  (Driver info: chromedriver=2.14.313457 (3d645c400edf2e2c500566c9aa096063e707c9cf),platform=Windows NT 6.3 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 31 milliseconds
Build info: version: '2.45.0', revision: '5017cb8', time: '2015-02-26 23:59:50'

有人可以向我建議我可能做錯了什么嗎?

在找到並單擊子菜單之前,需要打開菜單:

element(by.css('nav.menu > md-content')).click();
element(by.css('nav.menu > md-content > button[ng-click="logoff()"]')).click();

您可能還需要使用elementToBeClickable 預期條件,等待子菜單變為可點​​擊 (需要量角器1.7或更高):

var EC = protractor.ExpectedConditions;
var logoff = element(by.css('nav.menu > md-content > button[ng-click="logoff()"]'));

browser.wait(EC.elementToBeClickable(logoff), 10000);
logoff.click();

您還可以使用一個承諾來等待操作完成

element(by.id('menu')).click().then(function(){
    element(by.id('link')).click();
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM