1

我正在使用带有 java 的 Webdriver。我想使用 Java 在文本字段中输入一些数值。我正在使用以下代码:

driver.findElement(By.id("igtxtctl00_MasterPlaceHolder_WTxtZip")).sendKeys("25025");

但输入完数值后,输入的数值会被自动清除。存储值后,我必须单击选项卡(使用脚本),以便在运行后端进程后自动填充 City 字段。

我通过使用下面的代码使用 Selenium RC 实现了同样的事情:

selenium.typeKeys("igtxtctl00_MasterPlaceHolder_WTxtZip", "25025");
Thread.sleep(x);
selenium.keyPress("igtxtctl00_MasterPlaceHolder_WTxtZip", "9");
4

2 回答 2

1

通过检查您的代码,我看到有基于该 zip 元素的客户端逻辑。有一个回发到服务器以确定城市。回发的触发器是 tab 键。

这意味着如果你想有效地测试你的页面,你必须发送 tab 键。

于 2012-12-11T16:42:58.657 回答
1

尝试这样的事情

driver.findElement(By.id("igtxtctl00_MasterPlaceHolder_WTxtZip")).sendKeys("25025");

输入邮政编码后,尝试单击页面中的其他位置

driver.findElement(By.id("igtxtctl00_MasterPlaceHolder_WTxtZip")).sendKeys(Keys.TAB);

或者

尝试使用Actions类。

new Actions(driver).sendKeys(driver.findElement(By.id("igtxtctl00_MasterPlaceHolder_WTxtZip")), "").perform();
于 2012-12-11T14:36:25.910 回答