如何控制IE浏览器的行为,以及获取结果

前段时间写了一个控制IE浏览器进行浏览的代码,现总结:

 

相关的东西,网上已经有很多资料了,本人认为写得比较好、全的有:

关于几个HTML文档接口的使用探讨 —— vckbase

DOM应用---遍历网页中的元素  —— vckbase

[Delphi]怎样访问Internet Explorer中的WebBrowser

 

主要有两种方式

 

1、使用 IShellWindows 获取当前浏览器个数(webbrowser个数),然后枚举获取webbrowser实例

 

2、使用ObjectFromLresult 函数从进程窗口获取webbrowser实例

 

需要注意的是,两种方式其实都是采用了OLE的原理来获取webbrowser的,现在主流的主动防御软件都会报。

 

在第1种方式中已经直接获得了webbrowser的实例,但是在第2种方式中,只是获得了IHTMLDocument2 的接口,如何通过该接口获取到webbrowser实例呢?

 

当获得了webbrowser实例以后,就可以调用webbrowser的方法来控制浏览器的行为,比如停止、刷新等等。但是,在实际测试过程中,发现其他方法都可以,唯独Navigate不行,在暂时找不到原因的情况下,由另外一种方式来实现:

 

获取IHTMLDocument2 接口对应的window

 

然后调用spWin->execScript方法来调用脚本,众所周知脚本是异常强大的,只要可以执行脚本,就可以做很多我们想要浏览器做的事。比如要浏览指定页面,就可以这样写

 

至于获取结果嘛,连IHTMLDocument2 的接口已经获得了,基本可以获得一切了。网上代码很多。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值