关于 Webbrowser的问题,请高手们进!!!!

ken668 2006-06-15 04:21:15
VB语句 WebBrowser1.Document.getElementsByTagName("Table")

好像没有Delphi对应的语句。
在DELPHI 中,这句应该怎样才能写出来呢?

有人说将 Document 转换成 IHTMLDocument2接口 即可访问getElementsByTagName方法。

但应该具体如何做呢?能不能给个例子
谢谢。
...全文
241 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
halfdream 2006-06-16
  • 打赏
  • 举报
回复
写法三:

uses mshtml;

var
doc:IHTMLDocument3;
nodes:IHTMLElementCollection;
begin
doc:=WebBrowser1.Document as IHTMLDocument3;//呵呵,这儿可不是IHTMLDocument2
nodes:=doc.getElementsByTagName('table');
....

上面前两种是类似脚本的DISPATCH调用,第三种是使用MSHTML接口单元类型定义的写法.
还可以很多种变化,只要你有足够DELPHI的COM知识.

halfdream 2006-06-16
  • 打赏
  • 举报
回复
//写法一:

var
Node:Variant;
begin
Node:=WebBrowser1.OleObject.Document.getElementsByTagName('Table');


//写法二:
var
Document:Variant;
Node:Variant;
begin
Document:=WebBrowser1.Document;
Node:=Document.getElementsByTagName('Table');

ken668 2006-06-16
  • 打赏
  • 举报
回复
还有一个问题,可以追加分的,请帮一下

var
doc:IHTMLDocument3;
tables:IHTMLElementCollection;
Table1 :HTMLTable;
Row :HTMLTableRow;
Cell : HTMLTableCell ;
i,j:integer;
begin
doc:=WebBrowser1.Document as IHTMLDocument3;//呵呵,这儿可不是IHTMLDocument2
tables:=doc.getElementsByTagName('table');
For i:=1 To Table1.rows.length - 1 do
begin
row:=Table1.rows(i);
.............

为什么在编译时, row:=Table1.rows(i); 总是出错,到底错在那里呢?
aiunong 2006-06-15
  • 打赏
  • 举报
回复
顶。

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧