使用Selenium send_keys时,Kendo自动完成列表不会下降

时间:2016-01-30 10:39:40

标签: python selenium kendo-ui

我有一个带有Kendo UI自动完成功能的输入元素:

intputElement.kendoAutoComplete({
dataSource: ...,
filter: "contains",
select: function (e) {alert("you selected an option");}
...
})

当我在输入字段中手动输入文本时,自动完成列表会下降,我可以从中选择一个选项。当我单击/选择它时,我会看到警告消息。

使用Selenium的send_keys(python绑定)输入相同的文本时,列表会加载到DOM中,但它是隐藏的。我可以等待选项的存在,并且通过使用Selenium的JS执行器功能,我可以从下拉列表中单击该选项,但它似乎实际上并不触发select事件。我没有看到警报弹出。

我尝试将Keys.RETURNKeys.TAB发送到输入字段,以某种方式让下拉列表可见,以为可能隐身使得Kendo忽略了对该选项的点击,但没有运气。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

我也遇到了自动完成选项的困难。我最初尝试点击输入框并按睡眠输入角色。它在我的案例中运作良好。下面是Java中使用的逻辑,因此您可以尝试使用python。

// string value which is needed to enter in input box to display auto complete options
String str="murali seleniumtrainer";

    driver.findElement(By.name("q")).click();

    for(int i=0; i<str.length(); i++){

        driver.findElement(By.name("q")).sendKeys(String.valueOf(str.charAt(i)));

            Thread.sleep(200);

    }
// click on required option from auto complete.. as per requirement

谢谢你, 穆拉利