我正在尝试使用 Protractor 测试元素是否可见。该元素如下所示:
<i class="icon-spinner icon-spin ng-hide" ng-show="saving"></i>
在 Chrome 控制台中,我可以使用此 jQuery 选择器来测试元素是否可见:
$('[ng-show=saving].icon-spin')
[
<i class="icon-spinner icon-spin ng-hide" ng-show="saving"></i>
]
> $('[ng-show=saving].icon-spin:visible')
[]
但是,当我尝试在 Protractor 中执行相同操作时,我在运行时收到此错误:
InvalidElementStateError:
invalid element state: Failed to execute 'querySelectorAll' on 'Document':
'[ng-show=saving].icon-spin:visible' is not a valid selector.
为什么这无效?如何使用 Protractor 检查可见性?
最佳答案
这应该可以做到:
expect($('[ng-show=saving].icon-spin').isDisplayed()).toBe(true);
记住 Protractor 的 $
不是 jQuery,并且 :visible
还不是 available CSS selectors + pseudo-selectors 的一部分。
关于angularjs - 如何使用 Protractor 来检查元素是否可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22850271/