首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TWebBrowser -钩子接收事件

TWebBrowser -钩子接收事件
EN

Stack Overflow用户
提问于 2010-09-01 22:17:12
回答 3查看 2.8K关注 0票数 0

我正在尝试自动提交表单,并保存在TWebBrowser对象中显示的结果图像。

映像通过加载几个链接的javascript requests (ajax),直到它最终出现在文档中。

得到这个图像最好的方法是什么?我想将接收函数连接起来,以便能够看到http响应(这基本上就是我的图像)。

另一种可能是从缓存/内存加载图像.

我不知道怎么做,我希望有人能帮上忙。

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-09-01 23:27:11

可以使用图片属性从IHTMLDocument2对象检索所有url图像。

使用OnDocumentComplete事件查看此示例。

代码语言:javascript
复制
procedure TForm2.WebBrowser1DocumentComplete(ASender: TObject; const pDisp: IDispatch; var URL: OleVariant);
var
HTMLDocument2: IHTMLDocument2;
i            : Integer;
Item         : IHTMLElement;
ImageUrl     : string;
begin
    HTMLDocument2 := (WebBrowser1.Document AS IHTMLDocument2);
    for i := 0 to HTMLDocument2.images.length -1 do
    begin
    Item := HTMLDocument2.images.item(i, null) As IHTMLElement;
    ImageUrl:=item.getAttribute('src',0);
     //do your stuff with the url image retrieved
    end;
end;
票数 1
EN

Stack Overflow用户

发布于 2010-09-01 23:12:32

您可以使用OnDocumentCompleteOnNavigateComplete2事件(请参阅SHDocVw帮助),也可以等待WebBrowser处于ReadyState READYSTATE_COMPLETE中,然后从WebBrowser.Document读取。

但是,您也可以(更简单的IMO)使用TIdHTTP.Get直接获取响应流。

票数 1
EN

Stack Overflow用户

发布于 2010-09-02 00:53:10

为了使您的应用程序更具可伸缩性,您可以直接尝试EmbeddedWB。它封装了IWebBrowser2,使用起来非常方便。Embarcadero在他们的EmbeddedWB中使用RADStudio。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3622517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档