我在頁面上有以下angular.js
。正在顯示的項目是angular.js
Li
項目。一個是灰色的,另一個是啓用的。當我使用Selenium webdriver
方法.isEnabled()
時,灰色和啓用的項目均返回「已啓用」。Selenium webdriver如何獲取angularjs Li元素的啓用狀態
第一個問題是我如何獲得.isEnabled()
以處理這種類型的元素? Q 第二個問題是,假設的webdriver不會做它,我需要xpath
,我想我可以使用這樣的:
$x("//li[@class ='ng-scope disabled' and @id='actionCUSTARD']")
$x("//li[@class ='ng-scope' and @id='actionRHUBARB']")
第一個返回的東西只有在給定的ID被禁用,僅當給定的Id被啓用時纔是第二,這可以被構建到Java方法中以檢查對於給定的id該元素是被啓用還是被禁用。有沒有更簡單的方法來做到這一點?
</li>
<li id="actionRHUBARB" class="ng-scope" on="deriveInvokeType(action)" ng-switch="" ng-class="{'disabled': false}" ng-repeat="action in getActionList()">
<!--
ngSwitchWhen: LINK_DYNAMIC
-->
<!--
ngSwitchWhen: NO_INVOKE_PERMISSION
-->
<!--
ngSwitchDefault:
-->
<a class="ng-scope ng-binding" ng-click="doAction(action)" ng-switch-default="" href=""></a>
</li>
<li id="actionCUSTARD" class="ng-scope disabled" on="deriveInvokeType(action)" ng-switch="" ng-class="{'disabled': true}" ng-repeat="action in getActionList()">
<!--
ngSwitchWhen: LINK_DYNAMIC
-->
<!--
ngSwitchWhen: NO_INVOKE_PERMISSION
-->
<!--
ngSwitchDefault:
-->
<a class="ng-scope ng-binding" ng-click="doAction(action)" ng-switch-default="" href=""></a>
</li>