永发信息网

delphi的webbrowser如何访问网页中某个frame里的组件?

答案:1  悬赏:80  手机版
解决时间 2021-04-12 09:47
请问是如何解决的,谢谢
最佳答案

先取出对应frame的document,再取想要的元素,给你我写的函数,新人是应该带着进门的……



//框架获取
function GetDocument(Document:IHTMLDocument2;Index:integer):IHTMLDocument2;//框架获取
var frame_dispatch:IDispatch;
framed:IHTMLWindow2;
ole_index:OleVariant;
begin
ole_index:=Index;
frame_dispatch:=Document.Frames.ITem(ole_index);
if frame_dispatch <> nil then
begin
framed:=frame_dispatch as IHTMLWindow2;
result:=framed.Document as IHTMLDocument2;
end
else
begin
result:=nil;
end;
end;


//点击指定位置或名称的链接,或者给指定的名称或序号的元素赋值
procedure GetItem(Document:IHTMLDocument2;Index:String;IsClick:Boolean;State:integer;Value:string);
var IDoc1: IHTMLDocument2;
ielc: IHTMLElementCollection;
ihtml:IHTMLElement;
input:IHTMLInputElement;
TextArea:IHTMLTextAreaElement;
i:integer;
begin
Document.QueryInterface(IHTMLDocument2,iDoc1);
ielc:=idoc1.Get_all;
if(trystrtoint(Index,i))then
begin
if(IsClick)then
begin
ihtml:=ielc.item(strtoint(Index),0) as IHTMLElement;
ihtml.click;
end
else
begin
case State of
0 :
begin
input:=ielc.item(strtoint(Index),0) as IHTMLInputElement;
input.value:=Value;
end;
1 :
begin
TextArea:=ielc.item(strtoint(Index),0) as IHTMLTextAreaElement;
TextArea.value:=Value;
end;
end;
end;
end
else
begin
if(IsClick)then
begin
ihtml:=ielc.item(Index,0) as IHTMLElement;
ihtml.click;
end
else
begin
case State of
0 :
begin
input:=ielc.item(Index,0) as IHTMLInputElement;
input.value:=Value;
end;
1 :
begin
TextArea:=ielc.item(Index,0) as IHTMLTextAreaElement;
TextArea.value:=Value;
end;
end;
end;
end;
end;


这是我百度的技术博客,不懂可以去上边看,或者问……


http://hi.baidu.com/ray108

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
南新格力空调特约经销商地址有知道的么?有点
全画幅和半画幅指的是镜头还是相机
224毫升转为多少升
宋宝岚-恋歌下载地址 http://www.solue.net/p
写一篇介绍吴世勋爱好习惯的小短文
求a的值,使直线l1:(a+2)x+(1-a)y-1=0与
我的电脑不知道出现什么为题了
怎样打包文件?
天津市津南区教育局教育科学研究室这个地址在
肝硬化可以吃猪肝吗猪心?
据南方网报道,有关研究发现,每一次社会变革
乳房积病想问一下有什么征壮
宜昌市夷陵区教育局地址在哪,我要去那里办事
测定大气压的值的著名实验是________实验,在
生日寄语格式怎么写,祝福语格式怎么写?
推荐资讯
13岁孩子被说头脑成熟是什么意思
南充市市内有哪些中小学
什么叫PSP破解呀
下列句子括号中修改有误的一项是(3分)A. 江
怎样知道自己语感好不好??
等待意味着什么呢
单选题设P={x|x<2},Q={x|x2<1}A.P?QB.Q?PC
每年的6月26?日是国际禁毒日,吸毒严重危害人
成都南山学校(东北门)地址在什么地方,想过去
求受受一家亲txt
在日本用自动取款机怎么把纸币存在银行卡上方
求三角形的手抄报资料
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?