java - {WebElement}.getAttribute ("value") 返回 0

标签 java selenium selenium-webdriver automation

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

<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/

相关文章:

java - 在 Ubuntu 上安装 Oracle Java

python - 如何获取标签下的文字

css - 在 Selenium 中将 Xpath 定位器转换为 CSS 定位器

c# - 通过 GeckoDriver Selenium 和 C# 加载现有 FirefoxProfile 时, 'System.IO.Compression.ZipStorer' 的类型初始值设定项引发异常

node.js - 如何在 mocha 测试用例中暂停或等待——setTimeout 不起作用

java - 无法单击 selenium webdriver 中的按钮

java - 当我单击注销按钮时,如何阻止 Android 应用程序将挂起位置发送到网络服务器?

java - 无法让 Java2D 将简单的线条渲染到 Graphics 对象

java - 作为程序员学习 Java 的资源

javascript - 如何在实习生框架中执行带有循环的代码块