2016-01-22 63 views
0

我无法使用selenium getText方法获取文本框中存在的值。它始终返回空值。无法使用硒webdriver从文本框中获取值

使用`js.executeScript( “的document.getElementById( 'WBJDCD')的价值。” 这也返回空值也试过。

我的HTML看起来如下。

<input id="WBJDCD" class="inforTextbox upperCaseClass" type="text" tabindex="-1" readonly="readonly" style="width: 42px; text-transform: uppercase;" hlp="JDCD" maxlength="5"> 

任何人都可以请帮助

+0

你在用什么驱动程序?此外,您是否已验证(例如,通过人工检查或自动屏幕截图)在您检查时输入实际上是否有文本?用于getText()的JavaDoc表示“获取可见(即不被CSS隐藏)的innerText,包括子元素,没有任何前导或尾随空白。”所以它应该工作。 –

+0

Andrew,输入文本包含值。但看起来像这个值在html中不可见。有关如何处理这种情况的任何想法? – user3857726

+0

你肯定错过了一个'value'属性,所以除非在运行时添加这个属性,否则我不会看到你期望的值会来自哪里。您的输入标签也未关闭。 –

回答

2

你只需要elem.getAttribute("value"),这将返回当前当然,这可能为空太(通过HTML属性或DOM属性通过JavaScript等设置是否设置)。

getText()返回元素的innerText(即, <input ...>Hello</input>这不是你想要的。

+0

当我通过浏览器document.getElementById('WBJDCD')。值执行脚本。它返回适当的价值。但是,当我通过java运行它 - js.executeScript(“document.getElementById('WBJDCD').value。它返回空{document.getElementById(...)为空} – user3857726

+0

如果您运行Java为什么不只是使用'getAttribute(“value”)'解决你的问题而不是执行JS?你的'executeScript()'返回null的原因是因为脚本中没有'return ...;',所以方法没有任何东西可以返回。 –

+0

非常感谢getAttribute(“value”):) :) yaayyy – user3857726

相关问题