Selenium 除非在DOM中,否则FindElement不会返回元素文本

Selenium 除非在DOM中,否则FindElement不会返回元素文本,selenium,webdriver,knockout.js,Selenium,Webdriver,Knockout.js,我正在使用Selenium的webdriver,但我遇到了一个问题。 我正在使用KnockoutJS将我的UI绑定到来自服务器的数据。在我的测试中,当我调用FindElement(By.Id(“InputField”))时,它返回元素ok,但不幸的是Text()字段为空 在字段上运行Jquery选择器时: $(“#InputField”).val()它为我提供了输入字段ok中的文本 当我检查Html源代码时,输入字段中没有值,我猜这是因为KnockoutJS很晚才将值绑定到输入字段 如何让Web

我正在使用Selenium的webdriver,但我遇到了一个问题。 我正在使用KnockoutJS将我的UI绑定到来自服务器的数据。在我的测试中,当我调用
FindElement(By.Id(“InputField”))
时,它返回元素ok,但不幸的是Text()字段为空

在字段上运行Jquery选择器时:

$(“#InputField”).val()
它为我提供了输入字段ok中的文本

当我检查Html源代码时,输入字段中没有值,我猜这是因为KnockoutJS很晚才将值绑定到输入字段


如何让WebDriver正确地从字段中提取属性、文本等,而不仅仅是空文本?

不要使用
text
属性,请尝试使用
元素。GetAttribute(“值”)

IWebElement element = _driver.FindElementById("InputField");
string value = element.GetAttribute("value");