• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Delphi取Ajax网页内容

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

在程序中使用TWebbrowser控件或者Indy中控件连接采用Ajax技术的网页,获得的网页源码中并不会有客户端更新的内容。在IE浏览器中的查看源文件同理也是看不到Ajax更新的内容。通过插件可以看到Ajax更新后的内容。问题是在程序中怎样来获得完整的网页内容?

如果有Ajax更新,Webbrowser的DocumentComplete事件也不会被触发。

其实完整的网页内容并不是不可以获得,使用一个简单的方法就可以:

function GetHtml(const WebBrowser:TWebBrowser): string;
var
  Doc: IHTMLDocument2;
begin
  Doc := WebBrowser.Document as IHTMLDocument2;
  if Assigned(Doc) and Assigned(Doc.body) then
    Result := Doc.body.OuterHtml; //也可以用innerHTML取得其HTML文本
end;

这样获得的HTML内容中就包含了Ajax更新的内容。

现在关键是没有好的办法来判断Ajax是否已更新完毕,由于采用的是异步更新,所以在判断上比较困难。上网搜索了一下,国外好像有比较复杂解决方案的,也没有研究过究竟可行否。

做过网页内容采集软件的,不知道有没有好的办法来处理,欢迎指教。  :-)


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
matlab图像基础知识发布时间:2022-07-18
下一篇:
数据挖掘之分类算法---knn算法(有matlab例子)发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap