我正在尝试在应用程序中呈现网页的图片。不幸的是,我没有可用的Windows Form,所以无法使用诸如WebKit.net之类的解决方案,因为它们需要窗体上的控件才能提取图像。
因此,我开始寻找Berkelium的包装器,并且只遇到了berkelium。它似乎没有文档来使事情变得困难,但是查看代码,我看不到一种方法来从下面呈现的页面创建Bitmap (或类似的)。有没有人知道这是否可能?
我应该补充说,在任何人开始提供不起作用的替代方案之前,我必须使用.NET 2.0 (尽管我对那些可以工作的人持开放态度!)。
发布于 2012-06-19 20:09:49
最初使用它有点奇怪,但在给作者发了电子邮件后,我设法用berkelium sharp写出了下面的内容。在这里发帖,以防对其他人有用。
static void Main(string[] args)
{
BerkeliumSharp.Init(Path.GetTempPath());
using (Context context = Context.Create())
{
BerkeliumSharp.Update();
using (Window window = new Window(context))
{
string url = "http://www.google.com";
window.Resize(500, 500);
HandlePaint(window, @"m:\berkelium.png");
window.NavigateTo(url);
// Give the page some time to update
DateTime now = DateTime.Now;
while(DateTime.Now.Subtract(now).TotalSeconds < 1)
BerkeliumSharp.Update();
}
}
}然后使用源代码中包含的HandlePaint方法进行自动化测试。我还应该补充说,在测试中,有一种很方便的技术,可以等待页面加载,以消除硬编码的1秒延迟。
https://stackoverflow.com/questions/11096969
复制相似问题