假设我有这个输入元素:
<input id="email" value="[email protected]">
我执行这段代码:
var emailInputField = driver.FindElement(By.Id(email));
var email = emailInputField.GetAttribute("value");
emailInputField .InputField.Clear();
var empty = emailInputField.GetAttribute("value");
我希望变量empty为空,但自清除文本以来它包含与电子邮件相同的文本。我意识到value属性不会与输入的文本同步,所以我的问题是,如何找出文本框中当前包含的文本?
最佳答案
因为您已经选择了元素并为其分配了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");