在the应用程序的HTML中有以下代码
<input type="text" name="prettyTime" id="prettyTime" class="ui-state-disabled prettyTime" readonly="readonly">
页面上实际显示的是一个显示时间的字符串。
在Selenium Web Driver中,我有一个引用<input>
的WebElement
对象
WebElement timeStamp = waitForElement(By.id("prettyTime"));
我想获取WebElement
的值,换句话说,就是页面上打印的内容。我尝试了所有的WebElement
获取方法,但是没有检索到用户看到的实际值。有什么帮助吗?谢谢。
发布于 2011-10-27 02:42:05
这有点老生常谈,但它是有效的。
我使用了JavascriptExecutor
并向HTML中添加了一个div
,并将div
中的文本更改为$('#prettyTime').val()
,然后使用Selenium检索div
并获取其值。在测试值的正确性之后,我删除了刚刚创建的div。
发布于 2011-10-22 03:33:53
试试element.getAttribute("value")
text
属性用于元素标记内的文本。对于输入元素,显示的文本不是由<input>
标记包装的,而是在value
属性中。
注意:大小写很重要。如果你指定" value ",你将得到一个“null”值。至少对于C#是这样的。
发布于 2014-06-18 20:19:55
你可以这样做:
webelement time=driver.findElement(By.id("input_name")).getAttribute("value");
这将为您提供显示在网页上的时间。
https://stackoverflow.com/questions/7852287
复制相似问题