我想知道如何使用selenium webdriver查找元素的默认文本? 在浏览器中,输入字段显示默认值:'Project 1',但我无法通过此WebElement的方法getText()获取此文本。
<input class="title viewData" id="sprojectName" maxlength="255" name="projectName" type="text" projectinfo="1">
答案 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);