我正在与网页中的元素交互:
<li class="MuiButtonBase-root MuiListItem-root MuiMenuItem-root jss524 MuiMenuItem-gutters jss525 MuiListItem-gutters MuiListItem-divider MuiListItem-button" tabindex="-1" role="menuitem" aria-disabled="false" data-quid="SelectListItem-2" value=“{URL}”>
<div class="jss519">
<div class="jss520">
<div>{TEXT}</div>
</div>
<div class="jss522"></div>
</div>
<span class="MuiTouchRipple-root"></span>
</li>
在我的代码中,我有这个片段:
System.out.println(x.getAttribute("role"));
System.out.println(x.getAttribute("aria-disabled"));
System.out.println(x.getAttribute("data-quid"));
System.out.println(x.getAttribute("class"));
System.out.println(x.getText());
System.out.println(x.getAttribute("value"));
但是,最后一行 System.out.println(x.getAttribute("value"));
打印出 0 而不是实际值。
我正在使用 Selenium 3.141.59
最佳答案
您可以尝试使用JavascriptExecutor。
protected String getInputValue(WebElement element) {
String js = "return arguments[0].querySelector('input').value";
JavascriptExecutor js = (JavascriptExecutor) driver;
return js.executeScript(js, element).toString();
}
引用: Selenium Webdriver get input value which already has value attribute (Java)
关于java - {WebElement}.getAttribute ("value") 返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60675245/