0

我使用 Borland Turbo C++(类似于 Builder c++,但组件较少)。

当我执行 Webbrowser1->Navigate(MyURL) 时,我会正确收到所需的网站。就我而言,它只是一个文本网站,甚至不是 html 代码。我可以在 Webbrowser 的窗口中看到它。

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

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

4

1 回答 1

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");

请注意,您可以在没有 TWebBrowser 的情况下简单地发送 http 请求并检索响应文本。

于 2013-08-29T10:37:15.240 回答