angularjs - 需要通过匹配span下的标题文本来定位按钮

标签 angularjs user-interface xpath protractor

如何通过匹配 span 下的标题文本来定位按钮?
在下面提到的html中,我想根据< h3>下的文本找到按钮标签,即 '事件''代理'
由于这两个按钮具有几乎相似的元素结构,并且它们都位于同一父级下。 我正在使用 Protractor 和 Jasmine 编写脚本。

这是我的html:

<div class="left-hand-elements layout-column flex-none" flex="none" layout="column">
<div>
   <span class="layout-row" layout="row">
      <h3 class="md-title section-header flex" flex="">Activities</h3>
      <button class="md-button md-ink-ripple" ng-transclude="" type="button" ng-click="prov.showAddNew('activities', 'create')" aria-label="addCreate New">
         <md-icon class="ng-scope ng-isolate-scope material-icons">add</md-icon>
         <span class="ng-scope">Create New</span>
      </button>
   </span>
   <md-list class="record-list md-whiteframe-2dp" role="list"></div>
</div>
<div>
   <span class="layout-row" layout="row">
      <h3 class="md-title section-header flex" flex="">Agents</h3>
      <button class="md-button md-ink-ripple" ng-transclude="" type="button" ng-click="prov.showAddNew('agents', 'create')" aria-label="addCreate New">
         <md-icon class="ng-scope ng-isolate-scope material-icons">add</md-icon>
         <span class="ng-scope">Create New</span>
      </button>
   </span>
   <md-list class="record-list md-whiteframe-2dp" role="list"></div>
</div>
</div>

最佳答案

尝试以下 xpath:
对于事件标题:

//*[@class="layout-row"]/h3[text()="Activities"]

对于代理 header :

//*[@class="layout-row"]/h3[text()="Agents"]

要查找标题旁边的按钮,您可以尝试以下 xpath:

//*[@class="layout-row"]/h3[text()="Activities"]//..//button  

//*[@class="layout-row"]/h3[text()="Activities"]//..//button  

xpath找到header后会导航到父元素,然后找到button标签。

有关 xpath 的更多信息,您可以查看以下链接:
http://www.tizag.com/xmlTutorial/xpathtutorial.php

关于angularjs - 需要通过匹配span下的标题文本来定位按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35477104/

相关文章:

javascript - 将 Angular 组件降级为 AngularJS

image - 在 MATLAB 中播放图像序列

c++ - 如何通过调整窗口大小来扩展小部件?

c++ - 菜单导航的设计模式(c/c++)

python - 使用 lxml xpath 获取一个元素或引发异常

javascript - 更改当前页面的颜色angularjs

javascript - 如何使用 $stateParams 将字符串传递到另一个页面?

javascript - AngularJs 在模式中注入(inject)模板 html

java - 需要有关带 namespace 的 xPath 表达式的帮助

python - 使用 Scrapy 和 Python 的 XPath 无法使 XPath 正常工作