有一个隐藏的输入字段,我正在尝试插入特定的日期值。该字段最初生成一个值,用户可以从中选择适当的值。 页面的源代码如下所示:
<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>
答案 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;元素将包含隐藏元素。