通过ff的firebug中html面板上能看到网页生成后的html代码。而使用ie或者ff的查看源文件,查看源代码都只能显示貌似中间一步的html
可能表达不清楚,我用例子表述:在百度图片搜索(注意,是图片搜索,其他搜索页面和此页面不同),比如我输入“功夫熊猫2”,那么就会出现很多图片,下方有翻页链接1 [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页然后用ie右键,查看源文件,出现的文本中,并不包含[2],[4],下一页等字符,ff也一样(其他搜索如视频搜索,都是包含的)我个人认为可能是用js在本地循环生成的,本人菜鸟,不对忘指出。但是我用firebug的html面板去看,就能看到此页面最真实的html,包含
<div id="pgw" class="pg">
<a href="javascript:void(0);" onclick="BD.IMG.view.PagingDisplay.switchPage(84,-1);">
<font>上一页</font>
</a>
<a href="javascript:void(0);" onclick="BD.IMG.view.PagingDisplay.switchPage(0,1);">
[
<span>1</span>
]
</a>
<a href="javascript:void(0);" onclick="BD.IMG.view.PagingDisplay.switchPage(21,2);">
<a href="javascript:void(0);" onclick="BD.IMG.view.PagingDisplay.switchPage(42,3);">
请问firebug输出这些的最基本原理是什么?我通过webbrowser控件如何或缺这些字符串?先谢过各位大侠,忘给予解答。

解决方案 »

  1.   

    右键源文件是从服务器下载的那个文件,而你说这个最后html文件是根据当前文档对象模型还原出来的
      

  2.   


    右键源文件应该不会下载服务端的那个网页文件把?如果能下载岂不是例如asp,php的原代码都能看见了?firebug的html应该在服务器就解析完成了把,在浏览器只是展示工作,那既然浏览器能展示出“下一页”这个链接,为什么我就不能获取这段代码呢?
      

  3.   

    你当然不能下载asp和php,你下载的只不过是它们产生的结果,存在浏览器的临时文件夹,再显示给你看,浏览器里边的变化就是所谓动态html,现在的浏览器都支持脚本,大部分是指javascript,使用脚本可以动态修改浏览器里面已经生成好的DOM(文档对象模型),比如增加各种链接图片按钮啥的,还有现在那些js特效什么的都是这么回事,如果你直接右键看原文件,就是看临时文件夹里面那个,firebug那个看的是根据当前的DOM(可能已经改变)还原产生的html代码,和临时文件夹里面那个已经不一样了,比如你这样看到的html代码里面的<TABLE>元素,都会带个<TBODY>,而我们自己写网页时没人会用这个<TBODY>,这个<TBODY>就是根据DOM还原出来的
      

  4.   

    使用webbrowser也可以实时得到DOM的html代码的,IE中的每个HTML元素都有innerHTML和outerHTML属性,可以实时取得对象的HTML代码
      

  5.   


    哦,这样啊,我明白了,谢谢了要还原html是相当困难的把?也就是我无计可施了?我就想要知道下一页的链接会是什么有其他办法么?
      

  6.   

    webbrowser一样有文档对象模型,只要是页面上有的,都能取出来
    webBrowser1.Document.GetElementsByTagName("A");
      

  7.   

    太感谢lihanbing大大了,结贴!!