我用這個怎麼出這個問題?(100分)

  • 主题发起人 主题发起人 linzhisong
  • 开始时间 开始时间
L

linzhisong

Unregistered / Unconfirmed
GUEST, unregistred user!
我要取出網也上得id
for i:=0 to webbrowser1.OleObject.document.forms.length do
begin
str:=str+webbrowser1.OleObject.document.forms(i).id;
end;

出現這個錯誤:
project raised exception class eoleSysError with message '未執行',

為什麼呢?
 
uses .......mshtml;

IHTMLDocument2(webbrowser1.document).Get_forms.length
 
謝謝,jsxjd,

那個取出表單的數量是可以的

就是取出他的,id不行
 
for i:=0 to webbrowser1.OleObject.document.forms.length - 1 do

试试看!
 
多謝Adnil, shisam

取出裡面的form數量兩種方法都可以

就是沒有辦法取出每一個form得id
 
还没解决,我做一下看看
 
HTML 中可如下实现:
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>

<BODY>
<FORM METHOD=POST ACTION="" id="AAAAAA">
<FORM METHOD=POST ACTION="" id="BBBBBB">
</FORM>
</FORM>
<FORM METHOD=POST ACTION="" id="CCCCCCC">
</FORM>

<SCRIPT LANGUAGE="JavaScript">
<!--
var i;
alert(document.forms.length);
for (i=0;i<document.forms.length;i++)
alert(document.forms.id);

//-->
</SCRIPT>
</BODY>
</HTML>
 
原来很简单!!已测试通过,嵌套的也能找出来:

procedure TForm1.FormCreate(Sender: TObject);
begin
webbrowser1.Navigate('d:/tt.htm');
end;

procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
d:IHTMLDocument2;
items:olevariant;
begin
d:=IHTMLDocument2(webbrowser1.document);
items:=d.all.tags('form');;
for i:=0 to items.length-1 do
showmessage(items.item(i).id);
end;


d:/tt.htm 如下:

<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>

<BODY>
<FORM METHOD=POST ACTION="" id="AAAAAA">
<FORM METHOD=POST ACTION="" id="BBBBBB">
</FORM>
</FORM>
<FORM METHOD=POST ACTION="" id="CCCCCCC">
</FORM>

</BODY>
</HTML>

 
多謝了,可以啦

 
接受答案了.
 

Similar threads

后退
顶部