是否有可能在WebBrowser中获得后JavaScript参考?
我一直在想了好半天,甚至看着做到这一点:是否有可能在WebBrowser中获得后JavaScript参考?
C# WebBrowser control -- Get Document Elements After AJAX?
没有运气。
基本上,我需要与运行时使用JavaScript在网页上生成的元素进行交互。如你所知,当你在运行时使用javascript生成一个元素时,它不会显示在“查看源代码”中,因此当我请求WebBrowser.DocumentText时它不显示。
我确定有一种方法可以做到这一点,但是这里没有任何信息。
有人能破冰,告诉我该怎么做吗?
感谢
如果你还可以控制你正在查看WebBrowser控件中的网页,那么你可以公开的JavaScript方法,返回你所需要的,并使用Document.InvokeScript摆脱JavaScript方法的值。
C#:
object value = this.WebBrowser1.Document.InvokeScript("getValue");
的JavaScript:
function getValue() {
var editor = iged_getById("<%=WebHtmlEditor1.ClientID %>");
return editor.getText();
}
如果不通过网络进行现场控制,那么你可以与网页的文档通过文档属性作为互动是一个代表HtmlDocument的.NET对象: http://msdn.microsoft.com/en-us/library/system.windows.forms.htmldocument.aspx
我已经离开了WebBrowser控件,因为当需要与网页进行广泛的交互时,它非常具有bug和hacky。我现在使用原始请求。不过,我认为你可以通过使用DomDocument而不是Document来获得JavaScript引用。 – TheGateKeeper 2012-05-04 23:03:15
您是否使用其他Web浏览器控件进行了认证,例如:http://awesomium.com /#关于 – Robar 2012-03-13 12:06:08
我可以,但我将不得不从头开始重新启动我的程序。使用WebBrowser没有办法做到这一点吗? – TheGateKeeper 2012-03-13 12:10:26