假设我有这个输入元素:

<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");

09-25 21:47