找回密码
 加入
搜索
查看: 6842|回复: 14

[效率算法] 关于重新封装ie.au3 或者 封装xmlhttp代替 的提议

 火.. [复制链接]
发表于 2011-2-6 23:20:15 | 显示全部楼层 |阅读模式
现在au3集成的ie.au3,最后一次更新是2008年。

用了很长事件,一直感觉这东西蛋疼的很……

主要有以下龌龊的地方:

1. 选择器非常折腾,tag name id 零零碎碎,对于form还专门加了一套,画蛇添足。

2. 插入执行js、增减dom元素非常不方便,_IEBodyReadText _IEDocWriteHTML _IEDocInsertHTML,各有各的毛病。(比如_IEDocWriteHTML 会重新加载整个页面,dom ready执行但脚本加载不正常云云

3. _IEAttach莫名其妙冒错,网页一多,绑定浏览器成功率都成问题。

还有其他奇妙的地方等待大家发掘


一般用ie.au3都是图方便把?不用自己处理cookies等等……

在acn的群里,简单的网页就不说了,复杂一点点的,很多人都是反复折腾到能用就不继续了,其实大家都在埋地雷玩……

所以,今天我就蛋疼的提个议,重新封装ie.au3,或者封装xmlhttp来部分代替ie.au3。

集思广益,看下这计划的可行性……
发表于 2011-2-7 00:26:13 | 显示全部楼层
想法不错
但最好有BUG向发布方提交……统一修改
用都用上了
谁都修改,最后连用IE.AU3都会变味,不知该用哪版本
--------------------------------------------------------------
事实上有BUG也是好事
你可以不用该现成函数
自己研究下重写个函数调用就可
还有助了解该原理并能提高认识。。。
发表于 2011-2-7 00:51:56 | 显示全部楼层
悟空,你又疼了
发表于 2011-2-7 04:26:56 | 显示全部楼层
ie.au3 功能虽然强大,不过还不够好
能够拦截的事件不多,至少弹出窗口事件就不行
发表于 2011-2-7 05:54:11 | 显示全部楼层
回复 4# 风行者


    这个与ie.au3无关吧,是autoit自身无法handle.
发表于 2011-2-7 09:42:32 | 显示全部楼层
正好说明了一个问题。大家太依赖自定义库了.
 楼主| 发表于 2011-2-7 11:10:19 | 显示全部楼层
想法不错
但最好有BUG向发布方提交……统一修改
用都用上了
谁都修改,最后连用IE.AU3都会变味,不知该用 ...
_ddqs. 发表于 2011-2-7 00:26

打开ie.au3看一下量 你就会懂了
重写部分 每次都重新折腾一次么?

正好说明了一个问题。大家太依赖自定义库了.
ceoguang 发表于 2011-2-7 09:42

..."代码重用"嘛
发表于 2011-2-7 12:35:11 | 显示全部楼层
数据提交的一般用抓包然后后台提交
当然也有做不了HTTPS似乎不能抓包了

还有一个上传附件,抓包看了一下,觉得挺复杂繁琐的
IE需要打开浏览器才能使用,觉得这一点不好
 楼主| 发表于 2011-2-7 13:06:36 | 显示全部楼层
数据提交的一般用抓包然后后台提交
当然也有做不了HTTPS似乎不能抓包了

还有一个上传附件,抓包看了一下 ...
auto 发表于 2011-2-7 12:35

直接发送封包 不在本帖讨论范围内
发表于 2011-2-8 21:20:38 | 显示全部楼层
回复 8# auto


SSL也抓。。我佩服你
发表于 2011-2-9 00:15:36 | 显示全部楼层
何苦,直接curl
发表于 2011-2-9 08:51:46 | 显示全部楼层
楼上的,windows下如何用curl,或者说win下如何用AutoIt调用curl呢?
发表于 2011-2-9 09:03:29 | 显示全部楼层
关键是IE.au3获取控件太恶心,实在搞不懂弄个Form再包装起来有嘛意思,难道Form本身不是一个Element吗?实际中,我基本都是用$oIE.document.getElementById('loginname').value 这样的方式来获取或者设置元素的值。但是这个用整个IE的document元素感觉好怪啊,我也是从论坛上别人的帖子里看来的,这样的方式类似于JavaScript的方式,但是按照JS操作DOM的原则,也可以不直接用document啊,比如我先定位到某Form,得到$Form2,此时却不能用$Form2.getElementById('loginname')来获取这个控件,但是在JS里却是正确的代码,而且不用加载整个Document啊
发表于 2011-2-9 14:37:43 | 显示全部楼层
回复 13# 只为关注

先这样理解。。。
解析器模式匹配问题:
---------------------------
IE(JS):模糊匹配
脚本----IE----DOM

window.open()
可用
open()

AU3:绝对匹配
脚本----AU3----DOM
发表于 2011-2-9 21:52:33 | 显示全部楼层
最佳方案 做个IE_Lite.au3
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-4 13:37 , Processed in 0.095672 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表