关于html form的一个问题

loveyankee 2002-12-18 06:27:47
有个可能很幼稚的想法,但是还是希望有点研究的高手能指点一二

如何对一个web页上的form进行操作?
比如常见的聊天室,都是一个form进行提交你所打的文字,我想知道如何通过exe进行提交,对此我真的毫无头绪
谁若能指点一二,真的感激不尽!
...全文
73 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ChinaOk 2002-12-20
  • 打赏
  • 举报
回复
提交表单可以直接用现成的方法!

var
Doc:IHTMLDocument2;
Form:IHTMLFormElement;
begin
Doc:=Webbrowser1.Document as IHTMLDocument2;
Form:= Doc.all.item('Login',0) as IHTMLFormElement;
Form.Submit;
end;

var
Doc:IHTMLDocument2;
Button:IHTMLElement;
begin
Doc:=Webbrowser1.Document as IHTMLDocument2;
Button:= Doc.all.item('MyButton',0) as IHTMLElement;
//如果name和id不存在,即tagName不存在,就要将'MyButton'换成相应序号数字!
Button.click;
end;

调用脚本!
var
Doc:IHTMLDocument2;
Scripts:IHTMLScriptElement;
begin
Doc:=Webbrowser1.Document as IHTMLDocument2;
Scripts:=Doc.scripts.item(0,0) as IHTMLScriptElement;
//Scripts.text可获得脚本内容,Doc.scripts.Length长度,可用于遍历所有脚本!
end;

解释脚本可以用MS提供的Script Control!
ChinaOk 2002-12-20
  • 打赏
  • 举报
回复
回复人: ehom(?!) ( star1 ) 信誉:100 2002-11-26 14:51:11 得分:50 Top


对于控制IE当然使用现成的COM接口更加灵活!
利用IObjectWithSite接口的SetSite方法中获得IE的WebBrowser接口并建立自身与WebBrowser的连接,本质就是建立一个COM对象,注册让其它和IE运行在同一进程!通过这个方法,就可以得到一个指向IE COM对象的IUnknown的指针,通过这个指针就可以通过QueryInterface来遍历所有可以得到的接口,然后通过IWebBrowser2借口的get_Document方法网页接口IHTMLDocument2!而通过IHTMLElement,IHTMLInputElement,IHTMLButtonElement,IHTMLFormElement,IHTMLImgElement,IHTMLAppletElement...这样的各种接口就可以对网页中的各种元素进行控制!

不过看来,你是想通过外部一个不相关的程序对IE进行控制!这里详细介绍另一种方法,利用IShellWindows接口!首先安装一个ActiveX控件-Microsoft Shell Controls and Automation(IE4以后,系统都自带了)!安装完后,给程序加上TShell控件!


Uses 中加上这些单元ActiveX,MSHTML,OleCtrls,SHDocVw!

var
ShWin:IShellWindows;
Wb:IWebBrowser2;
begin
ShWin:=Shell1.windows as IShellWindows;
Wb:=ShWin.Item(0) as IWebBrowser2;
end;

这样就把第一个IE和Wb相关联!然后利用IHTMLDocument2接口!

var
Doc:IHTMLDocument2;
Button:IHTMLElement;
begin
Doc:=Wb.document as IHTMLDocument2;
Button:= Doc.all.item('MyButton',0) as IHTMLElement;
//如果网页中该按钮的name或id都不存在,即tagName不存在,就要将'MyButton'换成相应序号数字!
Button.click;
//实现点击操作!
end;

为了防止出错,还要对是否存在对象进行判断!

loveyankee 2002-12-20
  • 打赏
  • 举报
回复
up

1,184

社区成员

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

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