遍历网页中的所有元素(200分)

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

yifeng

Unregistered / Unconfirmed
GUEST, unregistred user!
var
i,j,len:integer;
elec:IHTMLElementCollection;
doc:ihtmldocument2;
begin
doc:= webbrowser1.document as IHtmlDocument2;
elec:= doc.all;
for i:= 0 to elec.length-1 do begin
memo1.lines.add(IHTMLElement(elec.item(i,emptyparam)).tagname);
end;
end;


却得到了Access violation

elec.item(i,emptyparam) 到底该怎么用?
 
一個一個的調試
 
什么意思?不懂?
 
"IHTMLElementCollection" 这是个是什么?

在哪里有声明?
 
各位老大,看看吧!
 
这是我在用的一段程序,找相关的文件怎么也找不到,
item要用例外的参数吗?

procedure TForm1.WebBrowser1DownloadComplete(Sender: TObject);
var T : OleVariant;
i : Integer;
begin
t:= WebBrowser1.Document;
t.all.item(36).value:='xxx';
t.all.item(47).value:='xxxx';
t.all.item(61).click;
end;
 
这是典型的接口类型匹配错误,先试一试AS一下,下面修改调试通过。
procedure TForm1.Button1Click(Sender: TObject);
var
i,j,len:integer;
elec:IHTMLElementCollection;
doc:ihtmldocument2;
chele:IHTMLElement;
begin
doc:= webbrowser1.document as IHtmlDocument2;
elec:= doc.all;
for i:= 0 to elec.length-1 do begin
//memo1.lines.add(IHTMLElement(elec.item(i,emptyparam)).tagname);
chele:=elec.item(i,emptyparam) as IHTMLElement;
memo1.Lines.Add(chele.tagname);
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
webbrowser1.Navigate('C:/TEMP/FILE0.HTML');
end;
 
发分了?
 
你催的还真紧 :-)
 

Similar threads

后退
顶部