我正在尝试运行selenium webdriver,模仿在文本框中键入内容并提交它。
我有以下代码:
WebElement element = null;
element = waitForElementPresent(tFByCssSelector,timeoutValue);
element.clear();
element.click();
element.sendKeys("Input String");
代码成功输入"输入字符串"到textField,但是当我提交表单时,它表示表单为空(表单已被设置为捕获空输入异常)。
我想知道为什么sendKeys没有设置文本字段的值,即使它已在文本字段中输入了所需的值。
答案 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发送密钥之前,您也不需要点击该元素。