【问题标题】:Cannot get the value of an "input" element无法获取“输入”元素的值
【发布时间】:2016-02-27 22:00:01
【问题描述】:

我正在使用 Selenium 和 Java 编写测试。我需要获取输入元素中的文本:

<table class="boundaryFormAdd">
    <tbody>
       <tr>
          <td>
              <input id="id_name" type="text" style="margin-top: 5px">
          </td>
       </tr>
   </tbody>
</table>

但正如您所见,它既没有value 属性也没有任何内部文本。

我试过了:

1) elementname.getAttribute("innerHTML")

2) 元素名.getText()

【问题讨论】:

  • 不知道 selenium,但 &lt;input&gt; 字段的文本存储在 value 属性中。

标签: java selenium selenium-webdriver selenium-chromedriver


【解决方案1】:

注意input 标签没有像&lt;/input&gt; 这样的结束标签。他们里面没有任何东西。这些被称为空元素。所以getText(),getAttribute("innerHTML") - 不会返回任何东西。

您可以使用getAttribute(attrname)方法访问输入元素的其他属性。

要获取值,请尝试使用driver.findElement(..).getAttribute("value")

【讨论】:

  • 输入属性中没有“值”的情况下为什么会起作用?
  • 默认值=""。我确信有一个 javascript 代码可以在运行时设置值。
  • 网页元素可能还有哪些其他属性?
猜你喜欢
  • 2012-12-29
  • 1970-01-01
  • 2022-09-29
  • 1970-01-01
  • 2018-08-14
  • 2017-08-07
  • 1970-01-01
  • 2012-11-21
相关资源
最近更新 更多