我正在尝试以编程方式将值设置为Web浏览器中的文本框,但它会抛出Null异常。
这是代码,我尝试过: -
webBrowser1.Document.GetElementById(“field-summary”)。InnerText =“Something”;
webBrowser1.Document.GetElementById(“field-summary”)。SetAttribute(“value”,“Something”);
我试图通过使用Quick Watch找到该元素,它就在那里,但我无法设置值。
因此,我也附上了手表的按扣。
这是错误,我得到了。
TimeSheet.exe中发生了'System.NullReferenceException'类型的第一次机会异常 mscorlib.dll中发生了'System.Reflection.TargetInvocationException'类型的第一次机会异常
我的问题是我正在尝试为innertext设置一个值,而我没有使用InnerText进行任何操作。但它仍然是错误。
我也试过了两个InnerText,也是值得的。但仍然无法。
我还使用Inspect作为参考附加了快照。
PS: 1.所有这些代码集都是在WebBrowser的DocumentCompleted事件中完成的,但仍然无法... 2.我访问了其他一些页面中的其他元素(文本),并使用InnerText访问和设置它的值。但无法处理这个元素。
有人可以说明为什么会这样做,所以我能够理解它。
感谢。
答案 0 :(得分:0)
可能是你的元素尚未加载。 在窗口加载事件处理程序中执行此操作。 您可以使用Jquery事件。
答案 1 :(得分:0)
从SO开始为我的问题找到一个可行的解决方案。
How to get HTML textbox value?
所以,以下代码对我有用。
dynamic elePrice = webBrowser.Document.GetElementById(" price")。DomElement; string sValue = elePrice.value;
感谢。