在DocumentCompleted事件处理程序中,我尝试拍摄某些页面的快照,对于某些页面,快照完美拍摄,但是,对于其他页面(例如最后一页),拍摄空白快照,尽管事实是浏览器WinForm我看到页面中的内容!任何想法可能是什么问题?
我正在尝试使用以下代码捕获WebBrowser控件的快照:
private void GetSnapshot(string nameSuffix, ImageFormat format)
{
string dateTimeNow = DateTime.Now.ToString("yyyy-MM-dd_hh-mm-ss-tt");
string imageName = string.Format("{0}_{1}_{2}.{3}", websiteName, nameSuffix, dateTimeNow, format);
using (var bmp = new Bitmap(ieBrowser.Width, ieBrowser.Height))
{
Trace.TraceInformation("Saving screenshot to '{0}'", imageName);
ieBrowser.DrawToBitmap(bmp, new Rectangle(0, 0, ieBrowser.Width, ieBrowser.Height));
bmp.Save(imageName, format);
}
}
答案 0 :(得分:1)
我通过创建一个新的虚拟线程来解决它,让它等待几秒然后返回。 (因此不会阻止控制线程。)
事实证明,在最终的DocumentCompleted事件被触发后,webbrowser需要少量时间来实际呈现页面