单击internjs </li>中bootstrap select2下拉列表中的<li>标签

时间:2015-02-12 00:46:53

标签: javascript selenium intern

我正在表单上编写一些函数测试,我遇到了从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标签名称,但我不知道如何处理该数组。

任何帮助我指明正确方向的帮助都会非常有帮助。如果您需要更多信息,请与我们联系。

谢谢!

1 个答案:

答案 0 :(得分:1)

打开下拉列表后,您只需找到要选择的特定项目并单击它即可。我通常使用findByXpathfindByCssSelectorfindByXpath的组合,当我试图找到包含文字的内容时,例如:

.findById('select2-chosen-1')
.click()
.end()

.findByCssSelector('.select2-drop-active .select2-results')
.findByXpath('.//li[div[text()="Alaska"]]')
.click()
.end(2)

上面的代码找到Select2并单击它,然后找到下拉结果节点。使用结果节点作为当前引用,它使用XPath表达式查找包含li文本&#34;阿拉斯加&#34;的div,然后单击li。点击后end(2)处理findByXpathfindByCssSelector来电。