不能用正则表达式,因为table中表格的值是通过另一网页用javascript动态赋值的。
好像 IHTMLDocument2没有WebBrowser1.document.all.tags('table').item(0).Rows.Item(i).Cells.Item(j).innerText这样的写法。
好像 IHTMLDocument2没有WebBrowser1.document.all.tags('table').item(0).Rows.Item(i).Cells.Item(j).innerText这样的写法。
解决方案 »
- 元旦加班的有木有?
- 神奇的access在win98中的日期问题.
- 怎样判定Delphi程序现在连接的是本地数据库Sql Server
- 将.txt文件转化成传真文件后,传真文件中出现中文乱码,请大虾帮忙啊。急!!!
- delphi 程序员--偶们的生存空间在那里?
- 怎样动态创建一个TWebBrowser?
- 请教:JEDI Win32 API(JWA)库哪有下
- Clientdataset取得oracle数据集,利用AppendData进行移值,出错!!!!!!! 急
- 怎么判断一个变量是何种类型?
- 我在使用delphi5的时候,如果在我运行程序之后,终止采用按快捷栏上的||时,delphi会死机?
- MSComm实现远程通信的临门一脚你来踢!(100分请你踢)
- 关于DriveComboBox和DirectoryListBox的问题???我通过DriveComboBox的dirlist连接DirectoryListBox当我选择a盘时a盘没有软盘,还是弹
不过是wb1.oleobject.document.......
//当然,弄清楚下面的,要改写成用VARIANT写得软些也就很容易了..
uses mshtml;function GetHtmlTableCell(aTable:IHTMLTable;aRow,aCol:integer):IHTMLElement;
var
Row:IHTMLTableRow;
node:IHTMLElement;
begin Row:=aTable.rows.item(aRow,aRow) as IHTMLTableRow;
Result:=Row.cells.item(aCol,aCol) as IHTMLElement;
end;function GetHtmlTable(aDoc:IHTMLDocument2;aIndex:Integer):IHTMLTable;
var
list:IHTMLElementCollection;
begin
list:=aDoc.all.tags('table') as IHTMLElementCollection;
Result:=list.item(aIndex,aIndex) as IHTMLTable;
end;procedure TForm1.Button1Click(Sender: TObject);
var
Docintf:IHTMLDocument2;
tblintf:IHTMLTable;
begin
docintf:=WebBrowser1.Document as IHTMLDocument2;
tblintf:=GetHtmlTable(docintf,0);
ShowMessage( GetHtmlTableCell(tblintf,1,1).innerText);end;