Builder C ++ / Turbo C ++ WebBrowser。如何访问收到的HTML代码

时间:2013-08-29 08:05:00

标签: c++builder twebbrowser borland-c++

我使用的是Borland Turbo C ++(比如Builder c ++但组件较少)。

当我做Webbrowser1->导航(MyURL)时,我正确地收到了所需的网站。 就我而言,它只是一个文本网站,甚至不是HTML代码。我可以在Webbrowser的窗口中看到它。

如何访问收到的文本以便能够操作它,计算字符数等? 最好的情况是,如果我能把它变成一个Ansistring。

我不知道该怎么做。我使用哪个类或尝试转换为什么类型。

1 个答案:

答案 0 :(得分:1)

首先导航到MyURL:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    WebBrowser1->Navigate(MyURL);
}

将检索代码放入 OnDocumentComplete 事件:

void __fastcall TForm1::WebBrowser1DocumentComplete(TObject *Sender, LPDISPATCH pDisp,
          Variant *URL)
{
    Variant document = WebBrowser1->Document;
    Variant body = document.OlePropertyGet("body");
    Variant parentElement = body.OlePropertyGet("parentElement");
    AnsiString html = parentElement.OlePropertyGet("outerHTML");
    Memo1->Text = html; 
}

或简要地说:

Memo1->Text = Variant(WebBrowser1->Document).OlePropertyGet("body").OlePropertyGet("parentElement").OlePropertyGet("outerHTML");

请注意,您只需发送http请求并检索响应文本而无需TWebBrowser。