使用selenium webdriver获取<input />元素的默认值(文本)

时间:2014-05-23 19:20:04

标签: selenium selenium-webdriver

我想知道如何使用selenium webdriver查找元素的默认文本? 在浏览器中,输入字段显示默认值:'Project 1',但我无法通过此WebElement的方法getText()获取此文本。

<input class="title viewData" id="sprojectName" maxlength="255" name="projectName" type="text" projectinfo="1">

3 个答案:

答案 0 :(得分:2)

getText()返回&#34;此元素的可见(即未被CSS隐藏)的innerText,包括子元素,没有任何前导或尾随空格。&#34;您需要getAttribute("value")getAttribute("placeholder")等内容。

答案 1 :(得分:1)

getText()方法用于检索元素标记之间的文本节点,例如:

例如:

<p>New</p>

但通常文本框中的值会保存为“value”属性。所以下面的陈述将起作用:

findElement(By.id("ElementID")).getAttribute("value");

答案 2 :(得分:0)

是的,我会尝试查看getAttribute(&#34; value&#34;)是否有效。与此同时,我使用JavaScript执行器解决了这个问题:

String jsStatement = "return document.getElementById('" + elementId + "')." + "value" + ";";
JavascriptExecutor js = null;
if (session instanceof JavascriptExecutor) {
    js = (JavascriptExecutor)session;
}
return (String) js.executeScript(jsStatement);