如何使用javascript在webdriver中获取隐藏值

时间:2013-10-15 15:56:07

标签: javascript selenium selenium-webdriver

有一个隐藏的输入字段,我正在尝试插入特定的日期值。该字段最初生成一个值,用户可以从中选择适当的值。 页面的源代码如下所示:

<div id="change_img">
  <img width="80" height="30" border="1" src="http://jntuh.ac.in/results/images/CaptchaSecurityImages.php?width=100&height=50&characters=5&code=ryyrh">
  <br>
  <input id="code" type="hidden" value="ryyrh" name="code">
</div>

2 个答案:

答案 0 :(得分:7)

使用WebElement的getAttribute方法。在你的情况下,它将是:

WebElement hiddenInput = driver.findElement(By.id("code"));
String value = hiddenInput.getAttribute("value");

如果出于任何原因需要使用javascript(您的问题专门询问js),那么此代码应该有效:

String script = "return document.getElementById('code').getAttribute('value');";
String value = ((JavascriptExecutor) driver).executeScript(script).toString();

答案 1 :(得分:1)

我在C#中测试了这个解决方案并且它有效。然后我能够解析返回的字符串以查找并验证我需要的内容。

http://yizeng.me/2014/04/08/get-text-from-hidden-elements-using-selenium-webdriver/

因此,在问题的示例中,您将获得可见父级的innerHTML&#34; change_img&#34;元素将包含隐藏元素。