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

jaf*_*ffa 2 selenium webdriver knockout.js

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

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

$("#InputField").val() 它给了我输入字段中的文本确定.

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

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

RP *_*yer 13

而不是使用Text属性尝试使用element.GetAttribute("value")

IWebElement element = _driver.FindElementById("InputField");
string value = element.GetAttribute("value");
Run Code Online (Sandbox Code Playgroud)