无法在jasmine框架中使用量角器找到Web元素

时间:2016-03-11 09:51:03

标签: angularjs selenium jasmine protractor

我尝试使用以下内容在页面上找到一个元素,但无法做到。

element(by.css('.organizer-text.ng-binding')).click();
element(by.className('organizer-text')).click();
element(by.linkText('All Cases(1)')).click();
element(by.css('span[class="organizer-text"]')).click();
element(by.css('span[ng-class="{'folder-selected' : isSelected(node)}"]')).click();
element(by.css('span[title="All Cases (1)"')).click();
element(by.xpath('div//span[title()="All Cases(1)"]')).click();

使用DOM附加元素的屏幕截图。你能帮我找一下如何找到它吗? Snapshot

<span class="organizer-text ng-binding" 
    tooltip="buildLabel(node.name, node.totalCases)" 
    ng-click="onLabelClick($event, node)" 
    ng-class="{'folder-selected' : isSelected(node)}" 
    ng-show="!node.showEditName" title="All Cases (1)">
 All Cases (1) 
</span>

这里的结构是div->span->multiple跨度(这里的一个跨度是元素)

3 个答案:

答案 0 :(得分:0)

尝试

element(by.xpath('//span[@title="All Cases(1)"]')).click();

答案 1 :(得分:0)

我使用了browser.ignoreSynchronization = true;登录页面后它运行了。

答案 2 :(得分:0)

看起来你自己找到了自己的答案。但是,这是为了您自己的信息。试试这个工作流程。

  1. 右键单击元素并获取inspect元素窗口。
  2. 转到检查元素的元素并右键单击
  3. 会有一个带有一些选项的窗口
  4. 选择复制唯一选择器选项。
  5. element(by.css('paste your Unique Selector here')).click();
  6. 与步骤5一样,粘贴您的唯一选择器
  7. 希望这会有所帮助。 :)