sendkeys()输入文本并在自动完成搜索字段中清除它

时间:2013-02-25 10:41:32

标签: autocomplete webdriver selenium-webdriver browser-automation

我无法让webdriver处理将某些文本输入基于自动完成的搜索文本字段。 我使用以下代码:

//here elmt is a WebElement variable.
elmt = driver.findElement(By.id(testDataMap.get("globalSearchTextLocator")));
elmt.sendKeys(patientName);

//Here I am finding the search result list once webdriver enters the characters.
elmt = driver.findElement(By.cssSelector(testDataMap
.get("searchPatientNameLocator")));


searchedPatientsList = driver.findElements(By.cssSelector(testDataMap
.get("searchPatientNameLocator")));

我还尝试在elmt.click()之前使用elmt.sendKeys()。它运行了几次随机测试。但大多数情况下它失败了。 会发生什么事情是webdriver将文本输入搜索字段并在下一刻清除它。这导致没有搜索结果并且未通过测试。我无法追踪这种奇怪行为背后的问题。有帮助吗?提前谢谢!

1 个答案:

答案 0 :(得分:0)

我面临着类似的问题,但它适用于数字领域。尝试使用下面的代码并执行你的脚本。

String accOffNoID = OR.getProperty("AccOffNo_ID"); 
        WebElement accOffNoInput = driver.findElement(By.id(accOffNoID));
        accOffNoInput.clear(); 
        accOffNoInput.sendKeys(String.valueOf(9874651230L));
        accOffNoInput = driver.findElement(By.id(accOffNoID));

根据您的脚本更改名称并执行,它应该有效。