我在编程中用了一个Webbrowser控件,需要读取Webbrowser控件浏览器窗口中的内容,存在变量中。
我用了两个方法
一个是
Webbrowser.ExecWB(cmdID_Selectall,1,emptyparam,emptyparam);
Webbrowser.Execwb(cmdid_copy,1,emptyparam,emptyparam);
但报错。
大家看看参数有错吗?(有人说是Ole对象没注册)
另一个是
用Ihtmldocument2(Webbrowser).body属性,然而在运行后就是报读内存错误(就是没治的那种)还是没法取得浏览器的内容。 哪位能给我一个正确的例子呢?(浏览器中只有文本)
感谢了
我用了两个方法
一个是
Webbrowser.ExecWB(cmdID_Selectall,1,emptyparam,emptyparam);
Webbrowser.Execwb(cmdid_copy,1,emptyparam,emptyparam);
但报错。
大家看看参数有错吗?(有人说是Ole对象没注册)
另一个是
用Ihtmldocument2(Webbrowser).body属性,然而在运行后就是报读内存错误(就是没治的那种)还是没法取得浏览器的内容。 哪位能给我一个正确的例子呢?(浏览器中只有文本)
感谢了
Webbrowser1.navigate('xxx.htm')
str1:=webbrowser1.OleObject.Document.outertext;后
报错一样:Read of Address 00000000 ..晕了
var
Url:OleVariant;
begin
Url:='http://www.xxx.htm';
WebBrowser1.Navigate(Url);
end;
procedure TForm.OnWebBrowserDocumentComplete(Sender: TObject;const pDisp: IDispatch;var URL: OleVariant);
var
HtmlDocument:IHtmlDocument2;
begin
HtmlDocument:=WebBrowser2.Document as IHtmlDocument2;
if HtmlDocument<>nil then StrBuff:=HtmlDocument.OuterText;
end;
procedure TForm1.OnCreate(Sender:TObject);
begin
WebBrowser1.OnWebBrowserDocumentComplete:=OnWebBrowserDocumentComplete;
end;