如题:
有没有可以自动选择网页中的一个块(如div、table、img元素)作为区域并截图的软件或火狐浏览器插件?
我有这么个需求:为了将新浪微博的徽章(记录关注数、粉丝数等的那块区域)截下来存档,以供演示或证明,希望有一截图程序(如火狐插件)能自动选择那一个块(div、table、img等元素),然后截图。就好像火狐插件Firebug的自动圈定网页元素那样!大家也有过这样的需求吗?
目前有这样的程序吗?
还是可以用Javascript或什么语言实现?
敬请指教!谢谢!

解决方案 »

  1.   

    firebug不是截图工具 只能锁定元素区域并查看相应源码
    楼主这种需求没见过有这种既能截图又能有firebug功能的工具
      

  2.   

    其实楼主的需求不过就是定点定区域的截图而已。象是HyperSnap,SnapIt,红蜻蜓等功能较大的截图软件都有这样的功能(这是它们所提供的N种截图方式之一),楼主可以试用一下,如果对软件的摸索能力不强,可以查看软件的帮助文档。
      

  3.   

    你这需求可以用.net的Webbrowser控件很容易做出来。
    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);  // 保存图片
         }
      

  4.   

    HyperSnap 无法捕捉浏览器内Web页上的题述区域,只可以捕捉Windows窗口元素吧?
      

  5.   

    真迂腐。或者对别人缺乏起码的信任。这种软件我N年不玩了,但至今仍然对它的功能记得很清楚。HyperSnap和其它几款专业软件一样,有几种方式,包括对指定的WINDOWS窗口捕捉,还包括“对屏幕指定区域捕捉”。我说的就是后者,无论是WIN窗口还是WEB页,只要显示在屏幕上就可以捕捉。至于特别一点的,只是对于使用DIRECTX显示加速技术的媒体播放器而言,可能取不到图像而已,通过一些方法可以避免,这个与本题无关。其它根本不存在什么问题。
      

  6.   

    我的目的是想能够快速准确地自动框选网页元素并对它截图。重点在于像Firebug那样能自动框选HTML标记区域。您有办法做到吗?