关于IE8以上如何使用autoit的问题
现在的autoit只支持ie8,我的脚本操作ie8没有问题,但是升级到ie11就无法使用了,我F12发现对象啥的完全不一样了。请问对于IE8以上的IE浏览器该如何操作? ie10之前大部分是一样的,ie11之后就变了。 你是说ie10之前基本都可以?等下我升级到ie10试试。我这有个程序不支持ie8,ie8版本太低了,所以升级到ie11,但是autoit又不支持ie11。{:face (229):} 回复 3# ysping是一样的,原有的一些对象操作新版本浏览器只会兼容不会删除。
不知道你所谓的不支持到底是哪些属性不支持? 比如,我用ie8登录后,f12看到有form对象,但是ie11登录后,f12发现根本就没了form对象,不知道怎么操作了。
问个其他问题:我现在使用的autoit是3.3.6.0,要不要换成最新的版本? 回复 4# nmgwddj
我现在用ie10后,f12看到的对象貌似一样的,但是同样的脚本,在ie10上报错了: 回复 6# ysping
这可能是网站对不同IE版本做过什么特殊的判断,返回了不同的 DOM 对象,当然这只是猜测。
不过可以确定的是,你使用的这些方法在新版本浏览器中一定是可以兼容的,有错误就跟着错误找下原因就可以了。
F12中可以看到网页的 HTML 结构信息,先在浏览器的控制台中自己敲一下这些命令看能不能通过,能通过以后再写成脚本,如果网站导入了 jQuery,那么用 jQuery 操作更方便。
网页操作还是需要一些前端的基础性知识的,Au3封装的函数操作有限,不能满足太复杂的需求。 回复 7# nmgwddj
你说的对,我对html、jquery不懂,只是现在工作中需要用到ie自动登录的问题才想到用autoit来实现,之前搞过相关的开发,没办法像你说的根据错误继续调试了。看来要想深入下去必须学习一些网页开发之类的基础知识。
我现在测试ff.au3通过了,看看用firefox能不能实现。
谢谢了! 代码可以看看么?去掉body看看? 本帖最后由 ysping 于 2016-8-11 13:47 编辑
回复 8# ysping
#include <C:\Program Files (x86)\AutoIt3\include\IE.au3>
$oIE = _IECreate ("https://*.*.*.*")
sleep(5000)
$oDiv = _IEGetObjById ($oIE, "overridelink")
_IEAction($oDiv ,"click")
sleep(5000)
$oForm = _IEFormGetObjByName ($oIE, "form1")
$oQuery = _IEFormElementGetObjByName ($oForm, "username")
_IEFormElementSetValue ($oQuery, "user1")
$oQuery = _IEFormElementGetObjByName ($oForm, "password")
_IEFormElementSetValue ($oQuery, "pass1")
$oQuery = _IEFormElementGetObjByName ($oForm, "button")
_IEAction($oQuery ,"click")
sleep(3000)
_IEAction ($oIE, "quit") 回复 4# nmgwddj
请问,firefox中怎么使用像ie中f12功能? firebug插件我安装了 知道了,安装fireug后按F12就可以了。 网页源码发看看,估计是不需要body. 本帖最后由 ysping 于 2016-8-11 15:52 编辑
sorry,源码放错了!