最近我在做一个小程序,通过一个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中选中内容的未经处理的源代码呢?
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中选中内容的未经处理的源代码呢?
解决方案 »
- delphi7中以弹出窗口方式调用IE,如何修改窗口的标题等信息
- delphi开发手机游览器
- 如何在Access数据库中添加一个表?
- 有关于报表设计的,QUICKREP!在线等待!高手襄助!!
- cg1120(代码最优化-§新年祝福你,好运伴着你§) 急需帮助!!
- Delphi中建立oracle存储过程的问题。菜鸟级!!!!
- 问题
- 怎么判断一个程序在一天内运行了多久啊?
- 招聘delphi程序员
- 100分~~100分~~高分求购。。。我也‘倾家荡产求购优秀系统分析案例’(paste from yyzh)。。。100分~~
- fastreport那个版本中有 frreport这个控件,我是新手,正学习中!在线等,十万火急!!!
- clientsocket怎样判断是否连接上serversocket?
memo1.Clear;
memo1.Lines.Text := EmbeddedWB1.SelTextHTML;
onclick="sendmsg('pw_ajax.php','action=relatetag&tagname=图片',this.id)">图片</SPAN>这两段内容大致是相同的,意思也是相同的,但我不能用下面的结果,因为我还要在网页代码中找到这段代码的起始位置。
谢谢您的回答,受教了。
我的目的主要就是:
本地有非常多的下载好的html文件(通过下载工具批量下载的),然后做一个程序浏览某个网上的页面时,可以选中某部分内容并在本地html文件中查找是否有包含这段代码的文件,如果有则返回文件名称和代码在html文件中的位置。 我尝试过通过剪贴板临时保存数据:
docselected.execCommand ('Copy', False, EmptyParam); 但这样得到的也是经过IE处理的。