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

use*_*967 3 .net c# selenium input selenium-webdriver

假设我有这个输入元素:

<input id="email" value="some@email.com">
Run Code Online (Sandbox Code Playgroud)

我执行这段代码:

var emailInputField = driver.FindElement(By.Id(email));
var email = emailInputField.GetAttribute("value");
emailInputField .InputField.Clear();
var empty = emailInputField.GetAttribute("value");
Run Code Online (Sandbox Code Playgroud)

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

Cat*_*hal 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");
Run Code Online (Sandbox Code Playgroud)