selenium-webdriver - 发送 key 后,Selenium WebElement 值为空

标签 selenium-webdriver sendkeys

我正在运行一些简单的表单测试,其中值是添加字段。

将每个值添加到字段后:

input.SendKeys(value);

我想检查字段中的值是否正确。这听起来可能不寻常,但该字段可能附加了 ajax 搜索,如果搜索没有撤回匹配项,则该字段将为空。

我尝试在发送 key 后测试 WebElement 的文本值,但它似乎总是为空:
bool match = input.Text.Equals(value);
// input.Text always seems to be an empty string

我正在将 Selenium 2 与 WebDriver 一起使用 - 还有其他方法可以执行这些检查吗?即使 SendKeys 成功将值(实际上在浏览器中)打印到 WebElement(文本框)中,WebElement 为空是否有特殊原因?

任何帮助将不胜感激。

最佳答案

您输入的文本值可能被分配为文本框的“值”属性而不是“文本”

input.sendKeys(enteredValue)
String retrievedText = input.getAttribute("value");
if(retrievedText.equals(enteredValue)){
 //do stuff
}

关于selenium-webdriver - 发送 key 后,Selenium WebElement 值为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7272700/

相关文章:

python - 如何在 Python 中使用 Selenium Webdriver 提取总搜索结果?

linux - 在 Linux 上运行 node.js 时如何解决 "Server terminated early with status 127"?

firefox - 使用 Selenium WebDriver 使用 Firefox 'print' 或 'save as' 功能

java - selenium chrome 驱动程序选择证书弹出确认不起作用

c++ - 如何从 QT C++ 中的对话框将 key 发送到父 mainWindow

c# - 如何在 WPF 应用程序中使用 windows 键

c# - 如何在 C# 中执行保持 ALT+TAB sendkey 事件

java - 在 selenium webdriver 中无需定位器即可验证文本的存在和可见性

silverlight - Sendkeys ("{BACKSPACE}") 插入 "B"个字符而不是退格

android - 当测试按下开始按钮时游戏没有开始