delphi html table,delphitwebbrowser如何提取含有iframe网页(html)的表格(table)数据.pdf

DelphiTwebbrowser 如何提取含有 iframe 网页 (HTML) 的表

格 (table) 数据

DelphiTwebbrowser 如何提取含有 iframe 网页 (HTML)

的表格 (table) 数据 -- (转载) 如何提取含有 iframe 网页

(HTML) 的表格 (table) 数据 想提取网页里的表格 (table 标

签)数据 , 因为 session 的原来 ,所以用了 ,但些网页被包含在一

个 iframe 里 ,所以在论坛上找到了一高人的代码 (参考代码

一),用 FrameWin.document.body.outerHTML 得到了源码 ,

但问题是 ,我想得到 table 表里的数据 ,好像没有

FrameWin.document.all.tags('table').item(0).outerHTML 这

种形式 ,但 WebBrowser 却有 .如参考代码二 ,因为要提取的网

页的表格是通过另一同级 iframe 网页的 javascript 赋值的,

所以不能直接通过 FrameWin.document.body.outerHTML

用字符串直接分析,那样得的数据都是空格。

大家有什么好办法。 。

参考代码一 :

usr mshtml;

procedure TMainForm.ToolButton56Click(Sender:

TObject);

var

Index: Integer;

Document: IHTMLDocument2;

FrameIdx: OleVariant;

FrameDis: IDispatch;

FrameWin: IHTMLWindow2;

begin

while Webbrowser1.ReadyState <>

READYSTATE_COMPLETE do

Application.ProcessMessages;

if WebBrowser1.Document = nil then

Exit;

if

WebBrowser1.Document.QueryInterface(IHTMLDocument

2, Document) <> 0 then Exit;

if Document.frames.length > 0 then

begin

for Index := 0 to

Document.frames.length - 1 do

begin

FrameIdx := Index;

FrameDis :=

Document.frames.item(FrameIdx);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Delphi中,将一个窗体转换为HTML表格是可行的,需要以下步骤: 1. 在Delphi中,使用TWebBrowser组件来显示和呈现HTML内容。该组件可用于加载和渲染网页内容。 2. 在窗体上放置一个TWebBrowser组件,并将其宽度和高度设置为适当的值,以确定所需的HTML表格大小。 3. 在窗体的相关事件(如OnCreate)中,使用TStringList来创建HTML代码。 4. 使用TStringList的Add方法,将HTML表格的标记(如<table>、<tr>、<td>等)按正确的格式添加到字符串列表中。 5. 遍历窗体上的控件列表,并根据需要为每个控件创建HTML行和列。 6. 使用控件的属性(如Caption、Text等)来获取控件的值,并将其放置在相应的HTML单元格中。 7. 最后,将生成的HTML代码设置为TWebBrowserDocument属性,以显示HTML表格。 以下是一个示例程序的代码,演示如何将窗体转换为HTML表格: procedure TForm1.FormCreate(Sender: TObject); var HTMLCode: TStringList; Control: TControl; begin HTMLCode := TStringList.Create; try HTMLCode.Add('<table border="1">'); for Control in Self.Controls do begin HTMLCode.Add('<tr>'); HTMLCode.Add('<td>' + Control.Name + '</td>'); HTMLCode.Add('<td>' + Control.Caption + '</td>'); HTMLCode.Add('<td>' + Control.ClassName + '</td>'); HTMLCode.Add('</tr>'); end; HTMLCode.Add('</table>'); WebBrowser1.Navigate('about:blank'); WebBrowser1.Document.Write(HTMLCode.Text); WebBrowser1.Refresh; finally HTMLCode.Free; end; end; 在上述示例中,我们创建了一个HTML字符串列表,并使用一个简单的循环来遍历窗体上的控件。每个控件的名称、标题和类名被添加到HTML表格的每行中。最后,通过将生成的HTML代码写入TWebBrowserDocument属性,将HTML表格显示在窗体上。 希望这个回答对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值