我最近使用了DoodleNerd的CSS文本框生成器(http://doodlenerd.com/html-control/css-textbox-generator)为我的网站制作了一个非常时尚的文本框。我熟悉从表单中提取文本;我已经完成了两种主要形式:
document.getElementById('field').value
or
driver.findElement(By.id("field")).getCssValue("value")
由于某些原因,当我使用DoodleNerd的文本框时,不会提取框中的值...这确实很奇怪。我将包括CSS和html以供参考:
#field {
position: absolute;
left: 33px;
top: 170px;
overflow: visible;
width: 129px;
white-space: nowrap;
text-align: left;
font-family: Comic Sans MS;
font-style: normal;
font-weight: normal;
font-size: 20px;
color: rgba(249,249,249);
}
.field {
padding: 0px;
font-size: 15px;
border-width: 5px;
border-color: #CCCCCC;
background-color: #ba6fc5;
color: #f9f9f9;
border-style: inset;
border-radius: 5px;
box-shadow: 4px 2px 5px rgba(66,66,66,.75);
text-shadow: 49px -11px 5px rgba(177,37,37,.0);
}
.field:focus {
outline:none;
}
<div id="field">
<input type="text" value="e.g. '999'" class="field" />
</div>
感谢一百万!
答案 0 :(得分:0)
您想要的值似乎是:例如“ 999”正确吗?如果是这样,这应该是您的JavaScript:
var fieldValue = document.querySelector('.field').value;
您想要的值似乎具有字段类别,而不是字段ID。
如果必须使用document.getElementById(),也可以执行以下操作:
var field = document.getElementById('field');
var value = field.firstElementChild.value;
但是我认为第一种方法可能更好。