如何通过匹配 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/