c# - 使用 Selenium 获取输入字段的当前文本

标签 c# .net selenium input selenium-webdriver

假设我有这个输入元素:

<input id="email" value="some@email.com">

我执行这段代码:

var emailInputField = driver.FindElement(By.Id(email));
var email = emailInputField.GetAttribute("value");
emailInputField .InputField.Clear();
var empty = emailInputField.GetAttribute("value");

我希望变量 emptyempty 但它包含与 email 相同的文本,因为我清除了文本。我意识到 value 属性与输入的文本不同步,所以我的问题是,如何找出文本框中当前的文本?

最佳答案

因为您已经选择了该元素并将 emailInputField 分配给它,所以 empty 将引用它。如果您在清除后重新分配 emailInputField 然后获取它应该为空的值。所以:

var emailInputField = driver.FindElement(By.Id(email));
var email = emailInputField.GetAttribute("value");
emailInputField .InputField.Clear();
var empty = driver.FindElement(By.Id(email)).GetAttribute("value");

关于c# - 使用 Selenium 获取输入字段的当前文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31452058/

相关文章:

c# - 如何将 DapperRow 转换为 Dictionary<string,string>

java - 如何使用 Selenium 下载网页源

python - 在 Internet Explorer (Python) 中使用 Selenium 绕过 SSL 认证

c# - 用于 Visual Studio 2013 的 System.Data.SQlite

c# - 无法在列表框中绑定(bind)命令

c# - 当接收对象是 C# COM 对象并且函数具有接口(interface)作为参数时,VBScript 抛出异常

c# - 您知道执行此 "massive"linq 过滤的另一种方法吗?

c# - 在 .NET Xml 序列化中,是否可以使用基于属性值的不同标记对具有枚举属性的类进行序列化?

c# - 无法添加对 ".dll"的引用

python - 如何使用 Selenium 在文本字段中插入值?