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

gxch 2009-05-07 11:47:24
最近我在做一个小程序,通过一个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中选中内容的未经处理的源代码呢?
...全文
258 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
alanhao 2009-05-20
  • 打赏
  • 举报
回复
不用ie打开,使用Tstream打开后,搜索关键字
duduxia 2009-05-20
  • 打赏
  • 举报
回复
Mark Again.
gxch 2009-05-13
  • 打赏
  • 举报
回复
还没有高手出手吗?虽然我已经通过其他方法解决了,但也被迫放弃了可视化的选择,极度希望能够解决这个问题
gxch 2009-05-08
  • 打赏
  • 举报
回复
我也想过用Twebbrowser下载的,但当多线程下载的时候对系统要求实在是高啊,期待有高手能够解决。
sparklerl 2009-05-08
  • 打赏
  • 举报
回复
Mark
devhp 2009-05-08
  • 打赏
  • 举报
回复
理論上來看是跟查看源代碼看到的一樣,如果不一樣貼相應的網址來研究研究!


memo1.Clear;
memo1.Lines.Text := EmbeddedWB1.SelTextHTML;
devhp 2009-05-08
  • 打赏
  • 举报
回复
原本是這樣子,這問題可就不小羅!先期待其他高手!

有沒有想過乾脆用WEBBROWSER去下載你所要的那些HTML,然後再來執行你要求的這個操作
gxch 2009-05-08
  • 打赏
  • 举报
回复
 
谢谢您的回答,受教了。
我的目的主要就是:
本地有非常多的下载好的html文件(通过下载工具批量下载的),然后做一个程序浏览某个网上的页面时,可以选中某部分内容并在本地html文件中查找是否有包含这段代码的文件,如果有则返回文件名称和代码在html文件中的位置。

我尝试过通过剪贴板临时保存数据:
docselected.execCommand ('Copy', False, EmptyParam);

但这样得到的也是经过IE处理的。
devhp 2009-05-08
  • 打赏
  • 举报
回复
上下兩個結果完全相同哦!僅僅是標籤屬性不完全對位而已啊!

你不知道你需要對它們進行什麼操作。

要到達目的路有無數條。是不是非得走你那條什麼路?
gxch 2009-05-08
  • 打赏
  • 举报
回复
确实是不同的,这可能主要发生在使用了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&tagname=图片',this.id)">图片</SPAN>

这两段内容大致是相同的,意思也是相同的,但我不能用下面的结果,因为我还要在网页代码中找到这段代码的起始位置。

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧