I'm loading third party webpage that contains following code
<script type="text/javascript">
onDomReady(function() { some_code1; });
</script>
into WebBrowser component. After some_code1
had executed I need to do some manipulations with Dom that will make some_code1
invalid. The question is how to determine that some_code1
had executed?
I cant't do
private void web_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
DoRequiredManipulations();
}
Since this event will occur before some_code1
has executed and will make it invalid.
Also I can't do
private void web_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
web.Document.InvokeScript("doSome_code1");
DoRequiredManipulations();
}
Since some_code1
is declared as an anonymous function.
It seems that the only way to do it is this:
private void web_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
var script = GetScriptText(web.DocumentText);
//execute script in webbrowser
DoRequiredManipulations();
}
The problem is that I don't know how to execute this script in webbrowser. I had tried web.Navigate("javascript: " + script);
but it doesn't work correctly.