大量的java和C#的答案,但我找不到如何在JavaScript中做到这一点。似乎API是不同的...使用webdriver.js,如何获得<select>的选定选项?
3
A
回答
5
是的,这是可能的。假设我们有以下select元素:
<select name="test" id="select">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
您使用getValue获取当前选定的选项,您可以使用click更改选择。这里有一个简单的例子:
var webdriverjs = require('webdriverjs'),
client = webdriverjs.remote({desiredCapabilities:{browserName:'phantomjs'}}).init();
client
.url('http://localhost:8080')
.getValue('#select',function(err,val){
console.log(val); // will output "1"
})
.click('//*[@id="select"]/option[3]')
.getValue('#select',function(err,val){
console.log(val); // will output "3"
})
.end();
希望有帮助。
欢呼
2
对于那些谁只是在寻找纯WebDriverJS的解决方案,而不是具体的像webdriver.io或量角器任何框架,这里是代码,
var element = driver.findElement(wd.By.id('mySelect'));
element.getAttribute('value').then(function(selected) {
if(selected === 'the one I expected') {
done();
}
else {
done(new Error('something went wrong');
}
});
1
如果您想要的选项元素,使用then
回调的返回值:
driver.findElement(By.css('select[name=eventTypes]'))
.then((select) => {
return select.getAttribute('value').then((value) => {
return {select: select, value: value};
});
})
.then((data) => {
return data.select.findElement(By.css('option[value="'+data.value+'"]'));
})
.then((option) => {
//do something.
});
2
如果你有这个在你的HTML为例
<select name="test" id="myId">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
您可以像这样
var driver = new firefox.Driver();
driver.findElement(By.css('#myId>option:nth-child(2)')).click();
为我过了例如选择3选择,我使用硒的webdriver用JavaScript
相关问题
- 1. 如何获得角度中的选定选项<select>
- 2. 如何从p:selectOneRadio使用javascript获得选定的选项
- 3. 如何获得2个选项选项?
- 4. 如何使用JavaScript获得选项ID?
- 5. 如何获得只有选定复选框的选项值?
- 6. 如何获得一组选择与angularJS选定的选项
- 7. 如何获得所选选项的值
- 8. 如何获得自定义选项卡
- 9. 如何获得微调选定项目
- 10. jQuery获得选定的选项问题
- 11. 如何获得选项?
- 12. NG选项的如何获得所选选项的文本
- 13. 如何在使用php的表单中获得所有选定的选项?
- 14. 如何获得在“if”上使用它的选定选项的值?
- 15. 如何使选项卡获得焦点
- 16. 使用querySelectorAll获取选定的选项
- 17. 如何获得Sencha触摸选项字段中的选定值
- 18. 如何在React JS中获得多个选定的选项值?
- 19. 如何获得动态添加选项的选定值
- 20. 如何获得选定的选项jquery自动完成
- 21. 如何获得选定的选项ID(与AddRow数据表)
- 22. Jquery:如何从select元素中获得选定的选项
- 23. 如何使用PHP在多选项选择中获得所有选项?
- 24. 如何从选择选项使用ajax和php获得价值
- 25. 如何使用Javascript而不是JQuery获得所选选项ID
- 26. 如何获取选定的选项ID?
- 27. 如何使用JavaScript获取浏览器的选定选项卡?
- 28. 如何使用jquery在html中获取选定的选项
- 29. 如何使用jQuery获取选定/活动选项卡的href?
- 30. 如何使用ASP.NET MVC获取选定选项的文本?
我以为我想这样的产品......谢谢,这作品! – Offirmo
+1但是,这是特定的框架,但这个想法是正确的,并帮助我走向正确的方向。对于那些对纯WebDriver解决方案感兴趣的人,请查看我的答案。 – nilesh