我正在表单上编写一些函数测试,我遇到了从bootstrap-select2下拉列表中选择值的问题。
如果你不熟悉Select2,这里有一些例子; https://fk.github.io/select2-bootstrap-css/3.5.1.html
所有下拉列表都是单击下拉列表时显示的无序列表。
我点击下拉列表;
.findById('select2-chosen-1').click().end()
以上行显示无序列表,但我不确定如何选择特定选择。
如果我执行以下操作,我可以打印出所有选项;
.findById('select2-results-1')
.getVisibleText()
.then(function(text) {
console.info(text);
})
我试图在.findAllByTagName('li')
下获取所有li标签名称,但我不知道如何处理该数组。
任何帮助我指明正确方向的帮助都会非常有帮助。如果您需要更多信息,请与我们联系。
谢谢!
答案 0 :(得分:1)
打开下拉列表后,您只需找到要选择的特定项目并单击它即可。我通常使用findByXpath
或findByCssSelector
和findByXpath
的组合,当我试图找到包含文字的内容时,例如:
.findById('select2-chosen-1')
.click()
.end()
.findByCssSelector('.select2-drop-active .select2-results')
.findByXpath('.//li[div[text()="Alaska"]]')
.click()
.end(2)
上面的代码找到Select2并单击它,然后找到下拉结果节点。使用结果节点作为当前引用,它使用XPath表达式查找包含li
文本"阿拉斯加"的div
,然后单击li
。点击后end(2)
处理findByXpath
和findByCssSelector
来电。