Jaa*_*nus 5 .net javascript webbrowser-control
using (var browser = new WebBrowser()) {
browser.Navigate(location);
browser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(wb_DocumentCompleted);
while (browser.ReadyState != WebBrowserReadyState.Complete) {
Application.DoEvents();
}
log.Info("READY " + browser.Document.GetElementById("main").InnerText);
}
private void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) {
WebBrowser wb = (WebBrowser)sender;
log.Info("COMPLETED " + wb.Document.GetElementById("main").InnerText);
}
Run Code Online (Sandbox Code Playgroud)
两个日志都返回尚未应用JavaScript更改的元素.
现在我在WinForms中有另一个WebBrowser,它将在启动时加载页面.这次我也使用了这个DocumentCompleted活动,但是我没有得到任何javascripted消息.
form.webBrowser1.DocumentCompleted += (sender, e) => {
log.Info("READY HIAAR" + form.webBrowser1.Document.GetElementById("main").InnerText);
};
Run Code Online (Sandbox Code Playgroud)
最后,我尝试使用按钮获取源代码.首先我让WebBrowser在WinForms中加载页面,然后在5秒后按下按钮:
form.dataButton.Click += (sender, e) => {
log.Info("READY HIAAR" + form.webBrowser1.Document.GetElementById("main").InnerText);
};
Run Code Online (Sandbox Code Playgroud)
只有最后一个log.info返回我需要的实际内容.
如何在所有JavaScript加载并运行时捕获事件?点击击败目的.
| 归档时间: |
|
| 查看次数: |
3045 次 |
| 最近记录: |