我们说我有这个输入元素:
<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属性并没有与输入的文本同步,所以我的问题是,如何找出文本框中当前的文本?
答案 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行你犯错误,尝试上面一个