有没有人会IE+Delphi的开发(100分)

  • 主题发起人 主题发起人 flypuma
  • 开始时间 开始时间
F

flypuma

Unregistered / Unconfirmed
GUEST, unregistred user!
我想作一个IE的扩展,当浏览某个网页的时候,如mail.yahoo.com,自动
填入ID和password,并自动按下"Sign in"按钮。 这好像需要分析DHTML的模型,
有没有高手来谈谈这个问题啊?
 
如果仅仅实现这个功能,不要这么麻烦吧。
直接把参数放在地址后面就应可以,
把点击提交后的页面地址拷贝一下就可以了。收藏。
 
我试了一下,不行啊,可能那个请求是中间结果,暂态的,不显示出来,你能试一下吗?
 
如果仅仅是实现这个功能,大可不必那么麻烦!有很多方法的,我原来做过一个相似的
。要的话留下e-mail。
 
flypuma@163.com
谢谢
 
查IE&Delphi,是个专门介绍这方面的网站很多的哦,关键是全免费,找不到的话,我给你控件和网站不过有点大几十M你先找找吧
 
谢谢,查了一下IE&Delphi,后来又发现了一个好地方,yahoo上有个group叫
delphi-webbrowser也很不错。
现在的情况是,我写了一个BHO(DLL方式的那种).在OnDocumentcompletement事件
里面我也得到了IHTMLDocument2接口,现在的问题是:
1.如何找到我要的element,我可以通过all.length得到element的数量,然后遍历,
 问题是我不知道他的类型,不知道typecast到什么接口,是IHTMLInputTextElement
还是IHTMLInputButtonElement或者别的什么。
2.对几个网页我作了试验来提交表单,一般是这样写:
procedure Tiehelper.dodocumentcomplete(const pdisp: idispatch; var url: olevariant);
var
Form:IHTMLFormElement;
begin
HTMLDocument2 := WebBrowser2.document as IHTMLDocument2;
if HTMLDocument2.forms.length > 0 then
begin
   Form := (HTMLDocument2.forms as IHTMLElementCollection).item(0,0) as IHTMLFormElement ;
(Form.item(0,0) as IHTMLInputTextElement).value := 'MyName';
   (Form.item(1,0) as IHTMLInputTextElement).value := 'MyPassword';
Form.Submit;
end;
end;
这样写在一些网页上没有问题,可以提交,但有些网页(如:http://mail.163.com/index.html),
我填写了表单2(就是中间的免费邮箱)后Submit,却说“资源不允许”,而我去掉
  最后一句然后手动点击“登录”按钮就可以,为什么?
  另外,代码中黑体的item,按照MSDN上说法如果第一个参数是数字,可以不要第二个
  参数的,可实际上必需写,不知道是代表什么?
 
能否把你的例子给我,我也正在做一个类似的东西,简单的例子就行,谢谢了
 
晶晶,mdc1975@21cn.com
 
我做了一个ie扩展,用起来没问题,但是在线安装就会出错,不知道是什么原因.讨论讨论
 
我從自己的程序裏拿了一段出來, 我也在看這部分內容, 所以發下帖子關注一下.

procedure TForm1.btnGetInfoClick(Sender: TObject);
var
doc:IHTMLDocument2;
all:IHTMLElementCollection;
len,i,flag:integer;
item:IHTMLElement;
vAttri:Variant;
begin
if Assigned(IEThis) then begin
doc := IEThis.Document as IHTMLDocument2;
all := doc.Get_all;
len := all.Get_length;
for i:=0 to len-1 do begin
item := all.item(i,varempty) as IHTMLElement;
if item.Get_tagName = 'A' then begin
flag:=0;
item.setAttribute('href', 'Hello World', flag);
vAttri:=item.getAttribute('VALUE',flag);
end;
end;
end;
end;
 
我的问题在http://www.delphibbs.com/delphibbs/dispq.asp?lid=1364707
也是关于ie扩展杜,大家关注一下啊,谢谢。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
911
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
868
DelphiTeacher的专栏
D
后退
顶部