【问题标题】:How to get attribute value for disabled element in Angular JS application如何在 Angular JS 应用程序中获取禁用元素的属性值
【发布时间】:2019-08-28 11:20:57
【问题描述】:

我需要在运行时获取禁用元素的属性值并断言其值。

我当前的代码如下所示,但没有返回值:

softAssert.assertFalse(shrSub.nextButton().waitForPresent().getAttributeValue("disabled").equals(true), "Next button must be disabled");

尝试找到 .getAttributeValue("disabled") 返回的值,但它以 null 的形式出现。

String test = shrSub.nextButton().waitForPresent().getAttributeValue("disabled"); 
System.out.println(test);

shrSub 是网页的类对象引用。

元素属性如下:

<button _ngcontent-nnr-c51="" class="share-button mat-button" mat-button="" matsteppernext="" disabled="" type="submit">
    <span class="mat-button-wrapper">NEXT</span>
    <div class="mat-button-ripple mat-ripple" matripple=""></div>
    <div class="mat-button-focus-overlay"></div>
</button>

请帮我找到这个禁用元素的正确属性值,以便我可以在运行时成功断言。

我希望获取禁用字段(true 或 false)的某些属性值,然后可以将其与预期值进行比较。

【问题讨论】:

  • 你尝试过 isEnabled() 方法吗?返回一个布尔值。
  • 那么你用的是angular还是angularjs?你的问题是 angularjs,但你已经标记了 angular?

标签: javascript java angular selenium-webdriver


【解决方案1】:

查看您的 DOM,这是正确的,因为 disabled 属性在其中没有任何值。 当它从 HTML 转换成你的编码语言时,它变成了 null。

你可以试试以下:

softAssert.assertFalse(shrSub.nextButton().waitForPresent().getAttributeValue("disabled").equals(null), "Next button must be disabled");

【讨论】:

  • 是的,我想办法解决这个问题。谢谢@work_ishaan
猜你喜欢
  • 1970-01-01
  • 2014-11-08
  • 1970-01-01
  • 2021-11-21
  • 1970-01-01
  • 2017-05-14
  • 1970-01-01
  • 2021-09-17
  • 2021-08-07
相关资源
最近更新 更多