我一直在寻找2天,但我无法找到解决方案,我想要下拉选择。当我使用一些element.all css定位器点击下拉列表时,它会点击下拉列表(下拉打开但显示错误)。所以我试图使用linkText打开下拉菜单(完全打开)。但之后我无法在下拉列表中选择该选项。 (显示元素不可见)。我也无法通过linkText选择该选项。详情
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav navbar-right" style="margin-right:0px">
<li>
<div uib-dropdown="" style="margin-right: 5px;" class="dropdown">
Tenant
<a href="" id="simple-dropdown" uib-dropdown-toggle="" class="dropdown-toggle" aria-haspopup="true" aria-expanded="false">
<span class="breadcrumb ng-binding" style="padding-bottom: 2px; padding-top: 2px;">cust1</span>
</a>
<ul class="uib-dropdown-menu dropdown-menu" role="menu" aria-labelledby="single-button">
<!-- ngRepeat: tenant in tenantList --><li ng-repeat="tenant in tenantList" class="ng-scope">
<a ng-click="selectTenant(0)" href="">
<span ng-show="selectedTenant.Identity == tenant.Identity" class="glyphicon glyphicon-ok"></span>
<span ng-show="selectedTenant.Identity != tenant.Identity" style="margin-left: 17px" class="ng-hide"></span>
<span class="ng-binding">cust1</span>
</a>
</li><!-- end ngRepeat: tenant in tenantList --><li ng-repeat="tenant in tenantList" class="ng-scope">
<a ng-click="selectTenant(1)" href="">
<span ng-show="selectedTenant.Identity == tenant.Identity" class="glyphicon glyphicon-ok ng-hide"></span>
<span ng-show="selectedTenant.Identity != tenant.Identity" style="margin-left: 17px" class=""></span>
<span class="ng-binding">NewTenant1</span>
</a>
</li><!-- end ngRepeat: tenant in tenantList --><li ng-repeat="tenant in tenantList" class="ng-scope">
<a ng-click="selectTenant(2)" href="">
<span ng-show="selectedTenant.Identity == tenant.Identity" class="glyphicon glyphicon-ok ng-hide"></span>
<span ng-show="selectedTenant.Identity != tenant.Identity" style="margin-left: 17px" class=""></span>
<span class="ng-binding">cust2</span>
</a>
</li><!-- end ngRepeat: tenant in tenantList -->
</ul>
</div>
我尝试通过以下方式进行选择,但我无法让它发挥作用。
答案 0 :(得分:1)
元素(by.partialLinkText( 'cust2'));我不知道linktext如何工作但partialLinkText正在工作。谢谢你的回复。
答案 1 :(得分:-1)
这样就够了吗?我用它来识别包含特定标签值的下拉元素......
this.clickDropChoice = function(dropdown, optionChoice) {
dropdown.element(by.cssContainingText('option', optionChoice)).click()
};