考虑一个基于angular的应用的DOM结构如下:
我需要获取特定的文本"disabled"从上面的节点。请把你的建议,我怎么能设法得到那个特定的文本?
我尝试了一个解决方案,
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
值赋给字符串,如果不是,则赋空值。