问题描述
考虑如下基于 Angular 的应用程序的 DOM 结构,
我需要从上面的 Node.js 文件中获取“禁用”的特定文本。请提出您的建议,我如何才能设法获得该特定文本?
HTML 代码,例如("<div id="button" class="login-link s-btn_primary" disabled>")
String value = driver.findElement(By.xpath("//div[@id='button']").getattribute("innerHTML").trim();
解决方法
你可以先取一个像
这样的元素WebElement element = driver.findElement(By.xpath("//div[@id='button']"));
然后检查它是否有属性(如果有,将所需的值赋给一个字符串):
String fetched =
element
.findElements(By.xpath(".[@disabled]"))
.size() == 1 ? "disabled" : "";
后面的代码意味着你检查属性是否有disabled
属性。如果是,则为字符串分配 disabled
值,如果不是,则分配空值。