C++编写模拟操作IE浏览器遇到的问题,还请各位高手帮忙看看,非常感谢!

peijunli1984 2015-08-21 05:23:43
我现在做一个WebUi自动化测试,也就是模拟人对IE浏览器进行自动操作,现在遇到问题是:
登陆界面上有个输入密码的编辑框,有个点击登陆按钮,
通过C++语言实现功能如下:
通过ID定位到密码输入框
然后给这个输入框元素触发一个onchange消息,代码如下: pElem3->fireEvent(_T("onchange"),&vtest,&vbRet);
然后点击登陆按钮。

问题出现了:
在IE8浏览器都能正常登陆,但是在IE9 IE11 高版本上总是提示密码错误,用浏览器跟踪的时候会提示undefind,好像IE9以后的浏览器接收不到触发的 onchange事件,哪位朋友能告诉我是为啥呢? 谢谢哈。。。。。
...全文
232 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
nanjun520 2015-08-28
  • 打赏
  • 举报
回复
为什么不直接使用 IHTMLElement的put_innerText
peijunli1984 2015-08-28
  • 打赏
  • 举报
回复
经过网上查找,说IE9以后都不能通过 fireEvent来触发消息,而是要通过dispatchEvent(&evnent)才行,但是我看IHTMLElement里面不带这个dispatchEvnent方法,请问C++语言中dispatchEvent 是哪个类的接口呢? 还有C++里面只支持到IHTMLElement4吗,在高的版本比如IHTMLElement6不支持吗? 多谢各位高手答复
www_adintr_com 2015-08-28
  • 打赏
  • 举报
回复
用 JavaScript 来操作网页上的动作 C++ 只需要调用 IHTMLWindow2 对象上的 execScript 来执行写好的 javascript 代码就行了 还可以把 javascript 代码放到外面的文件里面,这样程序通用性更好,修改代码重新测试也更方便。
cobra_chen 2015-08-24
  • 打赏
  • 举报
回复
你说的是用挂载API的形式。 赵老师说的是用按键精灵之类的软件实现。 - 你的方法效率较高,但通用性差。 赵老师的做法比较通用。 - 不同的IE确实有这样的问题,可以获取错误吗,然后根据错误吗提示找问题。
peijunli1984 2015-08-24
  • 打赏
  • 举报
回复
引用 1 楼 zhao4zhong1 的回复:
http://www.autohotkey.com 或 按键精灵
老师您详细给我说一下呗,您给我的网址打不开,多谢啦
赵4老师 2015-08-21
  • 打赏
  • 举报
回复
http://www.autohotkey.com 或 按键精灵

64,674

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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