delphi如何将edit中的文本点一下按钮之后,自动输入到网页上的textbox框!谢谢!

delphi如何将edit中的文本点一下按钮之后,自动输入到网页上的textbox框中!谢谢!
我希望能给我发个例子!谢谢!如何操作呢?
想问一下,如何在自己编写的程序中和网页相连接起来!

恩是做自动登陆的程序,或者是自动填写表格的程序!

MSHTML是微软公司的一个COM组件,该组件封装了HTML语言中的所有元素及其属性,通过其提供的标准接口,可以访问指定网页的所有元素.MSHTML对象模型是由一些对象和集合组成的.处于根部的是HTML,描述了打开页面的1个窗口,包括一系列集合和对象。如Frames集合,History,Location,Navigator,Document,Vi—sum,Event对象等.其中描述呈现在客户窗口实际网页的是Document对象。由一系列的属性、方法、对象和集合组成.其中All集合中包含网页中所有标记(Tag)元素,其主要的方法和属性有:
(1)Length(长度):即标记出现的个数,可以把标记的集合理解为从0开始的一维数组,其次序按照标记在网页位置排列;
(2)Tags(标记):用于过滤出给定标记的集合,如Doc.Al1.Tags(P)得到所有分段标记P;
(3)Item(项目):用于选择集合中的某1个元素,如object.item(0)得到集合的第1个元素,而object.item(i)得到第i+1个元素.
此外,IHTMLElement也是个常用的集合对象,代表网页中指定标记的集合,通过这个集合对象,可以得到网页上特定标记的内容.IHTMLElement有4个主要属性:
(1)InnerText:开始标记和结束标记之间的文本;
(2)InnerHTML:开始标记和结束标记之间的文本和HTML;
(3)OuterText:对象的文本;
(4)OuterHTML:对象的文本和HTML.

procedure TForm1.Button1Click(Sender: TObject);
var
Doc:IHTMLDocument2;
input:OleVariant;
userinputelement,pwdinputelement:ihtmlinputelement;
begin
doc:=webbrowser1.document as ihtmldocument2;
userinputelement:=(doc.all.item(''user''(也就是网页中用户名控件的名字),0) as ihtmlinputelement);
userinputelement.value:=edit1.text;(也就是你要向网页输入的东西)
pwdinputelement:=(doc.all.item(''password'',0) as ihtmlinputelement);
pwdinputelement.value:=edit2.text;
input:=doc.all.item(''submit'',0);
input.click;
end;

当提交数据按钮没有NAME属性时,采用如下方法:

procedure TForm1.Button1Click(Sender: TObject);
var
Doc:IHTMLDocument2;
form:ithmlformelement;
userinputelement,pwdinputelement:ihtmlinputelement;
begin
doc:=webbrowser1.document as ihtmldocument2;
userinputelement:=(doc.all.item(''user''(也就是网页中用户名控件的名字),0) as ihtmlinputelement);
userinputelement.value:=edit1.text;(也就是你要向网页输入的东西)
pwdinputelement:=(doc.all.item(''password'',0) as ihtmlinputelement);
pwdinputelement:=edit2.text;
form:=(doc.all.item(''login_form'',0) as ihtmlformelement):form.submit;
end;
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-01-20
哎,这类程序很多,你到GOOGLE上搜索 DELPHI 自动填表 就会出现很多类似的代码。
只要将你的 EDIT的 ONCLICK事件 和填写页面表格的代码联系在一起就可以。
不过页面一般比较复杂,不像楼上所复制的那么简单,很多页面没有NAME属性,需要用ID属性来获取,但大多数的帖子都是根据NAME属性的。还有很多连ID属性都没有,需要根据此字段的INDEX来定。
还要看你是填写到内置IE里,还是外部IE程序里,前者简单,后者就比较复杂。
第2个回答  2009-01-19
是准备做自动登录的程序,或自动填表的程序吗?那就只能找相应的代码看看了
第3个回答  2009-01-19
网页中编一个js吧.
然后用webbrowser来执行js代码就可以了.本回答被提问者采纳

delphi编程,如何实现在文本框内输入数字按键按钮后赋值给StringGrid表 ...
只要修改Stringgrid1.Cols这个数组,控件StringGrid中的数据自然就排好序了;再来说一下怎样把文本框的输入写入到StringGrid,这个更简单,只要在按钮点击后,把edit.text付给当前StringGrid的对应的Cell,怎么得到Cell的坐标,StringGrid有两个属性可以得到:col和row,使用这个坐标可以修改当前格的内容,如果...

Delphi Edit组件的奇怪问题,怎么某窗体上的Edit老是自动选择中文输入...
Formshow中加入下面代码,将所有的编辑框的默认输入法都设置为默认.\/\/所有编辑框输入法 inherited;for i:=0 to Self.ComponentCount-1 do begin if Self.Components[i] is TEdit THEN begin (Self.Components[i] as TEdit).imename:= '';(Self.Components[i] ...

delphi中文本框中的Keypress事件中
你可以输入之后判断,就是在你点击按钮的时候进行判断,一般都是这样处理的;当然也可以在正在输入的时候判断,假如输入的不是在定义范围之内就把它清除掉;你想实现的就是后者,我写的代码如下:procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);begin if not (Key in ['0'..'9...

怎样让delphi中edit中的小数点只出现一次,正在编一个计算器程序,譬如输 ...
if (Pos('.',Edit1.Text)>1) then Key = #0 意思是当Edit中的小数点大于一个的时候用户再输入小数点会自动吃掉

delphi中,运行后dbedit显示正常,按钮点击查找后出现field not found情 ...
field not found 字段没找到,通常这种错误是由于数据源的数据进行 query 之后,导致了 dbedit 控件需要的字段在数据源里找不到。建议检查 点击查找 的代码段中,如果是用 query 编写 sql 语句进行查询,则检查 sql 语句中是否包含 dbedit 控件中匹配的字段。

delphi如何判断edit文本是否修改?
private flag : boolean; \/\/ 声明一个全局的私有变量 procedure edit1onchange;begin flag := true;end;procedrue buttononclick;begin if flag then shomessage('已经改动了');else showmessage('文本无修改');flag := False;end;

delphi怎么控制edit中只能输入数字??
首先,在delphi里面控制edit只能输入数字的方法如下:if not (key in ['0'..'9',#8]) then key := #0;只能输入汉字,而不能输入数字或其他字符.在Edit的OnKeyPress事件中 procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);begin if (Ord(Key)<127) or (Ord(Edit1.Text[...

如何在Delphi语句中设置,当某个edit输入为空时,按钮不能点击?
如果开始edit为空,先将button1的enabled置为False 然后在edit的onchange事件中写 if Edit1.text = '' then button1.enabled := false else button1.Enabled:=True;

delphi edit1,edit2文本框用代码清空,然后点击button1时,显示两个不能...
procedure TForm1.Button1Click(Sender: TObject);var i,s:integer;begin if Edit1.Text='' then begin ShowMessage('Edit1不能为空,请输入数字');Exit;end;if Edit2.Text='' then begin ShowMessage('Edit2不能为空,请输入数字');Exit;end;s := 0;for i:= StrToInt(Edit1.text) to ...

在delphi中,如何实现鼠标滑到图片上,在一个文本框显示提示信息,并且...
Edit1: TEdit;Image1: TImage;private procedure CMMouseEnter(var Msg: TMessage); message CM_MOUSEENTER;procedure CMMouseLeave(var Msg: TMessage); message CM_MOUSELEAVE;public { Public declarations } end;procedure TForm1.CMMouseEnter(var Msg: TMessage);begin if TObject(Msg.LParam) ...

相似回答
大家正在搜