不是指容器本身的高度(WebBrowser1.Height),是指里面网页的实际高度,比如网页有滚动条,很长的页面
不用JS的话,怎么取?

解决方案 »

  1.   

    我也想知道。用webbrowser加载网页后,如何获取网页的高度。
      

  2.   

    2010-12-27 19:32 C# 如何用获取网页高度?这是一个贴子环境:
    VS2005 C# WinForm (特别注明:不是ASP.net)
    原先用这个方法(在DocumentCompleted事件函数里):
    webBrowser1.Document.Body.ScrollRectangle.Height绝大多数情况下,这个方法能够正确返回网页高度。但个别情况下却不行,获取到高度明显小于实际网页高度。比如http://buy.cn.yahoo.com/chaoliu/4090/0/1/这种网页有个特点,就是它包含加载图片的组件。我认为Document.Body.ScrollRectangle.Height在这里发生错误是因为没有计算上网页组件所加载图片的高度。开始我以为是图片加载较慢所致,于是又额外设了几秒延迟获取Document.Body.ScrollRectangle.Height,结果还是不行。有点麻烦了,哪位大虾有解决办法?有了些进展:使用这个:this.extendWebBrowser1.Document.Body.OffsetRectangle.Bottom针对我开头所提到特殊页面。它虽然比实际网页高度相同还是小一些,但基本上不影响浏览了。下面是我从网上找到的资料(应该是人工翻译的):我一直从 WebBrowser 控件的文档属性获取 web 页的高度的最后几天。这是我最新的尝试。HtmlElementCollection children = webBrowser.Document.All; int maxOffset = 0; foreach (HtmlElement child in children) { int bottom = 0; bottom = child.OffsetRectangle.Bottom; if (bottom > maxOffset) { maxOffset = bottom; pageHeight = maxOffset; } } 我试了通过在页中找到最低的元素的偏移的底部出页面的最大高度。 问题是页的这在大多数情况下试管苗 500px 有关的实际长度。任何人如有任何意见吗?我不敢相信只是为了获得一个页面的高度是多么困难 !问题: Unknown
    来自这个问题: stackoverflow.com
    答案 找到 BODY 标签,并获得 OffsetRectangle.Bottom 的该元素。 这会给你页面的高度。通过回答: Rob
    ===转自他人空间