我正在与网页中的一个元素交互:
<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
发布于 2020-03-13 18:09:05
您可以尝试使用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)
https://stackoverflow.com/questions/60675245
复制相似问题