WebDriver SendKeys不发送值

时间:2014-06-16 03:13:53

标签: selenium automation webdriver sendkeys

我正在尝试运行selenium webdriver,模仿在文本框中键入内容并提交它。

我有以下代码:

WebElement element = null;
element = waitForElementPresent(tFByCssSelector,timeoutValue);
element.clear();
element.click();
element.sendKeys("Input String");

代码成功输入"输入字符串"到textField,但是当我提交表单时,它表示表单为空(表单已被设置为捕获空输入异常)。

我想知道为什么sendKeys没有设置文本字段的值,即使它已在文本字段中输入了所需的值。

2 个答案:

答案 0 :(得分:1)

尝试跳出字段:

element.sendKeys("Input String");
element.sendKeys(Keys.TAB);

字段值可能仅在模糊时设置。

答案 1 :(得分:0)

如我所见,你的硒代码看起来都很好。我相信您的HTML表单存在一些问题。

表单应该有适当的操作来接收值。下面提供了一份样本表格。

<form action="http://foo.com" method="post">
  <input name="say" value="Hi">
  <input name="to" value="Mom">
  <button>Send my greetings</button>
</form>

根据您在method参数中使用的内容,您将获得POST或GET变量中的表单数据。

在Selenium发送密钥之前,您也不需要点击该元素。