Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何确定是否<;a>;残疾_Html_Angularjs_Testing_Protractor_End To End - Fatal编程技术网

Html 如何确定是否<;a>;残疾

Html 如何确定是否<;a>;残疾,html,angularjs,testing,protractor,end-to-end,Html,Angularjs,Testing,Protractor,End To End,量角器具有用于元素的漂亮的isEnabled()函数。尽管它对非常有效,但对元素却没有起到作用 我可以很容易地检查disabled或ng disabled属性,但是有更干净的方法吗?您需要像这样直接获取属性: if (dcoument.getElementById("a").disabled) { //disabled } else { //active } expect(myelement.getAttribute('disabled')).toBeTruthy(); 我每

量角器具有用于元素的漂亮的isEnabled()函数。尽管它对
非常有效,但对
元素却没有起到作用


我可以很容易地检查
disabled
ng disabled
属性,但是有更干净的方法吗?

您需要像这样直接获取属性:

if (dcoument.getElementById("a").disabled) {
    //disabled
} else {
    //active
}
expect(myelement.getAttribute('disabled')).toBeTruthy();

我每天都在量角器测试中使用它,没有任何问题。

尽管MBielski的答案会起作用,但比使用
getAttribute()
更简洁的是使用:


您可以简单地使用jQuery来确定在链接上何时启用或禁用属性

$(函数(){ $('input[type=“button”]”)。在('click',function()上{


我正试图通过api来实现这一点。我需要将您的解决方案包装在
浏览器中。executeScript(…)
调用中,这不是最理想的,我从来没有听说过
ProActor
,抱歉:(虽然
getAttibute(…),但这是可行的)
如果属性不存在,将返回
null
?是的,如果属性不存在,它将返回null。这就是为什么您使用.toBeTruthy()进行检查。null的计算结果始终为false。锚元素(技术上)没有“disabled”属性,因此您不能指望以这种方式禁用它()。某些浏览器会应用该属性,但这不是您应该依赖的。这个问题有一些不错的解决方法:但是
isEnabled()
不适用于
元素,除非您知道神秘的trick@MitchellHentges是的,但是根据
a
标记上没有
disabled
属性。另请参见:。在这个github问题中,您可以看到有几次提到使用
getAttribute()
直接作为解决方法。因此,您可能应该接受MBielski的答案。谢谢。
expect(myelement.isEnabled()).toBe(false);
    if($('a').prop('disabled')){ // checks whenever the element has the given atribute
    alert('it is enabled');
    } else {

    alert('it is not enabled');
    }
    });