为何用IHTMLAnchorElement获得的链接与源文件内的不相符

eulb 2007-08-17 02:44:28
我的程序是想实现模拟点击网页中的某个链接(该链接指向的是一个javascript函数)

但我用IHTMLAnchorElement穷举后发现并没有获得我的目标链接

后来我又用get_outerHTML()方法查看页面源代码,发现获得的源代码与我在浏览器里右键->查看源代码获得的完全不同!

请问这到底是什么原因?

我曾怀疑是多frame的问题,用get_frames()发现共有3个frame,但分别调用get_outerHTML()发现只有一个frame是有内容的

好郁闷啊 高人请不吝指点!
...全文
176 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
eulb 2007-08-17
  • 打赏
  • 举报
回复
这下无从下手了 : (
eulb 2007-08-17
  • 打赏
  • 举报
回复
试了下,不行

因为这个javascript函数是从其它.js import进来的

这有关系么?

: (
eulb 2007-08-17
  • 打赏
  • 举报
回复
谢谢,这样最好了,待会儿就去试试

其实本来我是想直接用HTTP的post来做的

但截数据发现HTTP头里都会自动加上一个字段key,它的值是一段字符串,是不是浏览器自动生成的?这个问题困扰我好久了
superarhow 2007-08-17
  • 打赏
  • 举报
回复
都能调用的。效果也完全相同的。不过要注意一点的是响应函数可能会判断页面的activeElement,或者当前的window.event。如果这样的话就麻烦了,activeElement是可以在程序里事先设置好,但window.event就不行。好在这种情况不是很多。
eulb 2007-08-17
  • 打赏
  • 举报
回复
谢谢楼上

请问如果调用ExecScript()的话

是否出现在右键点出的源代码里(可能并不出现在outerHTML里)的javascript函数都能被调用?而且其调用效果与直接鼠标点击网页完全相同?
superarhow 2007-08-17
  • 打赏
  • 举报
回复
get_outerHTML是浏览器处理过的源代码,右键点出的是直接从服务器端下载的源代码,是有可能不同的。IHTMLAnchorElement的get_Url也是经过处理过的。
感觉lz的问题没必要硬去点这个<A>,既然知道script,直接调用IWebBrowser的ExecScript就行了。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧