[英]How to check the value of the “value” attribute in an <input> element?
我有以下内容:
<h1>Request Group Rate</h1>
<form>
<input type="hidden" name="referrer" id="bmn">
Name:
<input type="text" id="fieldName" name="name"><br> Group size:
<input type="text" name="groupSize"><br>
Email: <input type="email" name="email"><br>
<input type="submit" value="Submit">
</form>
<script>
$(document).ready(function(){
$('input[name="referrer"]').val(document.referrer);
$(document.body).append('<div id="ready"></div>');
});
</script>
使用硒导航到页面后:
driver.findElement(By.id('requestGroupRate')).click();
driver.sleep(100);
driver.wait(function(){
return driver.findElement(By.id('ready')).then(function(){
driver.sleep(1000);
var element = driver.findElement(By.id('bmn'));
console.log(element.value);
assert(element.value === referrer);
done();
});
},5000);
我的主张失败了。 由于某些原因,element.value是未定义的。 这是为什么 ? 我应该如何比较在输入字段中设置的ID为“ bmn”的值呢? 显然,应该设置该值,因为仅在设置值之后才创建ID为“ ready”的div,因此,如果驱动程序可以找到“ ready”,则应该设置输入字段的值。
我究竟做错了什么 ?
var ele = driver.findElement(By.id('bmn'));
ele.getAttribute('value').then(function(text){
console.log('bmn value: ' + text);
assert(text === 'change to your expected value');
});
要获取属性的值,我们可以使用.getAttribute('Attribute Name')。
driver.findElement(By.id('bmn')).getAttribute('value').then(function(attributeValue){
console.log('bmn value: ' + attributeValue);
assert(attributeValue=== 'expected value'); });
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.