关于获取网页选中区域代码的问题(100)

  • 主题发起人 主题发起人 gxch
  • 开始时间 开始时间
G

gxch

Unregistered / Unconfirmed
GUEST, unregistred user!
最近我在做一个小程序,通过一个webbrowser控件浏览某个网页,页面打开后通过鼠标选中页面中某个区域并获取这个区域的页面代码,我通过如下方式得到了代码,但存在一个问题,请先看代码:procedure TForm2.btn2Click (Sender : TObject);var doc2: IHTMLDocument2; docselected: IHTMLTxtRange; strl: TStringList;begin if not EmbeddedWB1.Busy then begin strl := TStringList.Create; doc2 := EmbeddedWB1.Doc2; docselected := doc2.selection.createRange as IHTMLTxtRange; JvMemo1.Text:= docselected.htmltext end;end;这样是可以取得选中部分的代码,但取得的代码是经过IE处理的,并不是直接从服务器下载下来的内容,和用IE右键的查看源代码功能看到的是不同的,请问怎样才能获得webbrowser中选中内容的未经处理的源代码呢?
 
两天了,还没人回答啊
 
学习。。
 
没看出来哪不同....举个例子?
 
是不同的。一个是渲染后的,一个是之前的。HEHE。。之前的用接口得。之后的控件有方法得。
 
确实是不同的,这可能主要发生在使用了CSS的页面中,比如下面的用IE的右键查看源代码功能看到的是 怎么会不显示 <span onclick="sendmsg('pw_ajax.php','action=relatetag&tagname=图片',this.id)" style="cursor:pointer;border-bottom: 1px solid #FA891B;" id="rlt_1">图片 </span> 而用我用的方法得到的内容是: 怎么会不显示 <SPAN id=rlt_1 style="CURSOR: pointer; BORDER-BOTTOM: #fa891b 1px solid" onclick="sendmsg('pw_ajax.php','action=relatetag&amp;tagname=图片',this.id)">图片 </SPAN> 这两段内容大致是相同的,意思也是相同的,但我不能用下面的结果,因为我还要在网页代码中找到这段代码的起始位置。我的目的主要就是: 本地有非常多的下载好的html文件(通过下载工具批量下载的),然后做一个程序浏览某个网上的页面时,可以选中某部分内容并在本地html文件中查找是否有包含这段代码的文件,如果有则返回文件名称和代码在html文件中的位置。 我尝试过通过剪贴板临时保存数据: docselected.execCommand ('Copy', False, EmptyParam); 但这样得到的也是经过IE处理的。
 
嗨。。。都说了原因了。你还不信。。。。另,和CSS无关的。
 
后退
顶部