我使用的是Borland Turbo C ++(比如Builder c ++但组件较少)。
当我做Webbrowser1->导航(MyURL)时,我正确地收到了所需的网站。 就我而言,它只是一个文本网站,甚至不是HTML代码。我可以在Webbrowser的窗口中看到它。
如何访问收到的文本以便能够操作它,计算字符数等? 最好的情况是,如果我能把它变成一个Ansistring。
我不知道该怎么做。我使用哪个类或尝试转换为什么类型。
答案 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。