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

时间:2015-07-16 10:47:30

标签: 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");

我希望变量为空 为空,但它包含与电子邮件相同的文字,因为我清除了文字。我意识到value属性并没有与输入的文本同步,所以我的问题是,如何找出文本框中当前的文本?

2 个答案:

答案 0 :(得分:6)

因为你已经选择了元素并为其分配了emailInputField,所以空将引用它。如果您在清除后重新分配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");

答案 1 :(得分:0)

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

在第3行你犯错误,尝试上面一个