Selenium webdriver:在文本字段中发送密钥时未触发Ajax实时搜索

时间:2014-12-04 11:39:09

标签: java selenium

通过文本字段发送密钥(使用SendKeys(""))javascript没有捕获按键事件,因此ajax实时搜索无法触发。手动完成时效果很好。

只有在通过selenium webdriver代码执行时才会出现问题。

按任意键的任何特定或最佳做法,以便ajax实时搜索在执行期间有效。

2 个答案:

答案 0 :(得分:0)

使用typeKeys

<tr>
    <td>typeKeys </td>
    <td>id=Location</td>
    <td>\40</td>
</tr>

Click here for reference for codes

等待元素存在

<tr>
    <td>waitForElementPresent</td>
    <td>id=ui-active-menuitem</td>
    <td></td>
</tr>

答案 1 :(得分:0)

Javascript Executor可用于手动触发事件;在这种情况下,可以在这里使用以下yourEvent是输入某个值时触发的事件:

WebElement element = driver.findElement(By.id("some_id"));

element.sendKeys("your input");
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].fireEvent('yourEvent');", element);