如何在量角器中获取选定的选项值
How to get selected option value in protractor
如何获取选择框当前选中的选项值?
我试过下面的代码,但它不起作用。
element(by.css('#selectbox')).all(by.tagName('option')).then(function (options) {
options.forEach(option => {
if (option.getAttribute('selected')) {
console.log('selected option', option);
}
});
});
如有任何帮助,我们将不胜感激。
您可以使用 .filter()
过滤掉所选的选项,或者直接使用 CSS 选择器将其定位:
element(by.css('#selectbox option[selected]'))
请注意,使用 Protractor 中的 select
有一个更好的 deal/interact 方法:
是 "selected" 和属性还是 class 值?
它将作为 "get element, which is selected, then read out its value"
在代码中:
//if selected is an attribute
element(by.css('#selectbox option[selected]')).getAttribute('value').then(function(value){
console.log('selected option is '+value);
})
//if selected is a class-attribute
element(by.css('#selectbox option.selected')).getAttribute('value').then(function(value){
console.log('selected option is '+value);
})
//note, that "element(by.css())" === "$()", so this is the same as the first one
$('#selectbox option[selected]').getAttribute('value').then(function(value){
console.log('selected option is '+value);
})
Read more here about locators and even more important here about CSS-Selectors
如何获取选择框当前选中的选项值?
我试过下面的代码,但它不起作用。
element(by.css('#selectbox')).all(by.tagName('option')).then(function (options) {
options.forEach(option => {
if (option.getAttribute('selected')) {
console.log('selected option', option);
}
});
});
如有任何帮助,我们将不胜感激。
您可以使用 .filter()
过滤掉所选的选项,或者直接使用 CSS 选择器将其定位:
element(by.css('#selectbox option[selected]'))
请注意,使用 Protractor 中的 select
有一个更好的 deal/interact 方法:
是 "selected" 和属性还是 class 值?
它将作为 "get element, which is selected, then read out its value"
在代码中:
//if selected is an attribute
element(by.css('#selectbox option[selected]')).getAttribute('value').then(function(value){
console.log('selected option is '+value);
})
//if selected is a class-attribute
element(by.css('#selectbox option.selected')).getAttribute('value').then(function(value){
console.log('selected option is '+value);
})
//note, that "element(by.css())" === "$()", so this is the same as the first one
$('#selectbox option[selected]').getAttribute('value').then(function(value){
console.log('selected option is '+value);
})
Read more here about locators and even more important here about CSS-Selectors