delphi 关于dom元素获取。 (使用mshtml IHTMLDocument)进入看详情!
本帖最后由 geekjack 于 2013-01-25 00:19:02 编辑 由于需求要求,要抓取某个特殊html页面的某些信息。
我认为引入webbrowser的document来管理dom将是很不错的选择,因此我这边选用IHTMLDocument2来解决这个问题。(webbrowser不显示,利用它的document来工作)
但是这个过程中遇到这样一个问题:
<div class='aha_class' id='aha_id'>
<ul>
<li><a href='./aa.php'>a_text</li>
<li><a href='./bb.php'>b_text</li>
<li><a href='./cc.php'>c_text</li>
</ul>
</div>
a_text
b_text
c_text
var
i, j,m,n: integer;
ovTable,ovTableul: OleVariant;
[delphi] view plaincopyprint?
//这一部分是取得“无序列表”的部分
ovTable:=Webbrowser1.OleObject.Document.getElementsByTagName('ul').item(0);
ovTableul:=ovTable.getElementsByTagName('li');
n:=ovTableul.Length;
if n>0 then
begin
for i:=0 to n-1 do
begin
self.Memo1.Lines.Add(ovTableul.item(i).InnerText);
end;
end;