怎样用delphi在网页的一个edit框里输入一个值(200分)

  • 主题发起人 主题发起人 yangpeng0622
  • 开始时间 开始时间
Y

yangpeng0622

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟我,用delphi打开一个网页,我用delphi函数取得一个值,现在想把值传给网页里的
一个edit,代码怎样写,谢谢。
 
WebBrowser1.oleobject.document.all.item('aaa', 0).value := 'bbb';
 
我的想法是这样的了:
var
h:hwnd;
temp:string;
begin
h:=findwindow(nil.'网叶标题');
if h<>0 then
begin
h:=findwindowex(h,0,'edit',nil);
if h<>0 then
begin
for i:=1 to length(temp) do
begin
sendemssage(h,wm_char,word(temp(i)),0);
end;
end;
end;
end;
同时:你也用这个方法捕获到你要取得的函数值,然后再获得edit的句柄,然后再传给edit
 
weiwei81123,的方法会有地址错误,请大家帮帮忙
 
对应网页里的<input name="tt" type="text" id="tt">
////////////////////////////delphi6通过
procedure TForm1.Button1Click(Sender: TObject);
var
html,dd: OleVariant;
begin
html := WebBrowser1.Document;
dd := html.getElementByID('tt');
dd.value := 'hello';
end;
 
var
doc2: IHTMLDocument2;
disp: IDispatch;
inputEle: IHTMLInputElement;
iLoop: Integer;
htmlEle: IHTMLElement;
selectEle: IHTMLSelectElement;
begin
WebBrowser1.Navigate('');
//先到那个网站再说
doc2:=WebBrowser1.Document as IHTMLDocument2;
if Succeeded(disp.QueryInterface(IHTMLInputElement, inputEle)) then
//如果是input的话
if (CompareText(inputEle.type_, 'text') = 0) and
(CompareText(inputEle.name, 'NewUserName' = 0) then
inputEle.value := edit1.Text;//填值了呵呵
end;
 
多人接受答案了。
 
yangpeng0622,我现在也遇到这个问题:“用delphi打开一个网页,想把值传给网页里的一个edit”,试了楼上几位的方法,要报地址错误,你已经解决了吗?请问怎么解决的呢?
 
后退
顶部