1

在 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);
        }
    }
4

1 回答 1

1

我通过创建一个新的虚拟线程来解决它,让它等待几秒钟然后返回。(所以控制线程没有被阻塞)。

事实证明,在触发最终 DocumentCompleted 事件后,webbrowser 需要少量时间来实际呈现页面

于 2013-08-30T07:36:36.293 回答