如题:
有没有可以自动选择网页中的一个块(如div、table、img元素)作为区域并截图的软件或火狐浏览器插件?
我有这么个需求:为了将新浪微博的徽章(记录关注数、粉丝数等的那块区域)截下来存档,以供演示或证明,希望有一截图程序(如火狐插件)能自动选择那一个块(div、table、img等元素),然后截图。就好像火狐插件Firebug的自动圈定网页元素那样!大家也有过这样的需求吗?
目前有这样的程序吗?
还是可以用Javascript或什么语言实现?
敬请指教!谢谢!
有没有可以自动选择网页中的一个块(如div、table、img元素)作为区域并截图的软件或火狐浏览器插件?
我有这么个需求:为了将新浪微博的徽章(记录关注数、粉丝数等的那块区域)截下来存档,以供演示或证明,希望有一截图程序(如火狐插件)能自动选择那一个块(div、table、img等元素),然后截图。就好像火狐插件Firebug的自动圈定网页元素那样!大家也有过这样的需求吗?
目前有这样的程序吗?
还是可以用Javascript或什么语言实现?
敬请指教!谢谢!
楼主这种需求没见过有这种既能截图又能有firebug功能的工具
1.取html元素,这个类似于网络爬虫,在webbrowser加载完成后,在document里,你可以根据一定的规则把你想要的元素过滤出来(可以正则表达式或自己写一些简单逻辑),然后存数据库,这样也方便你日后的演示和证明。
2.截图。因为html元素也只是字符,只有通过浏览器呈现才有图。webbrowser正提供了这样的功能。给上段代码你就明白了
void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
WebBrowser webBrowser = (WebBrowser)sender;
// 网页加载完毕才保存
if (webBrowser.ReadyState == WebBrowserReadyState.Complete)
{
// 获取网页高度和宽度,也可以自己设置
int height = webBrowser.Document.Body.ScrollRectangle.Height;
int width = webBrowser.Document.Body.ScrollRectangle.Width;
// 调节webBrowser的高度和宽度
webBrowser.Height = height;
webBrowser.Width = width;
Bitmap bitmap = new Bitmap(width, height); // 创建高度和宽度与网页相同的图片
Rectangle rectangle=new Rectangle(0,0,width,height); // 绘图区域
webBrowser.DrawToBitmap(bitmap, rectangle); // 截图
// 保存图片对话框
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Filter = "JPEG (*.jpg)|*.jpg|PNG (*.png)|*.png";
saveFileDialog.ShowDialog();
bitmap.Save(saveFileDialog.FileName); // 保存图片
}