首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >{WebElement}.getAttribute(“值”)返回0

{WebElement}.getAttribute(“值”)返回0
EN

Stack Overflow用户
提问于 2020-03-13 17:59:29
回答 1查看 454关注 0票数 0

我正在与网页中的一个元素交互:

代码语言:javascript
复制
<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>

在我的代码中,我有一个片段:

代码语言:javascript
复制
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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-13 18:09:05

您可以尝试使用JavascriptExecutor。

代码语言:javascript
复制
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)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60675245

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档