yh_albin 发表于 2018-7-26 11:18:35

autoit 在IE11下执行_IEAction的click时无响应

请教高手:autoit 在IE8下执行IE元素_IEAction的click正常,但在IE11下能找到IE元素,执行_IEAction的click时就无响应,是什么原因啊?怎么解决?

mars0916 发表于 2018-7-26 11:43:32

有些網頁針對IE版本的不同
框架也會不同
但是大部分不同的地方會差異很大
例如YAHOO信箱的網頁在IE8跟IE11就幾乎完全不同
快要等於全部重抓IE的元素
如果可以請提供網址
我可以試試看

yh_albin 发表于 2018-7-26 13:09:13

本帖最后由 yh_albin 于 2018-7-26 13:21 编辑

mars0916 发表于 2018-7-26 11:43
有些網頁針對IE版本的不同
框架也會不同
但是大部分不同的地方會差異很大

不好意思,网址是内网的。

If $CheckOut=0 Then
      $CheckOut=_IEGetObjById($oIE,"ctl00_ctl46_g_23105813_1daf_4c2a_b652_8ff42b3594ef_ctl00_btnCheckOut")
EndIf

;MsgBox(1,1,IsObj($CheckOut))

_IEAction($CheckOut, "click")

Sleep(2000)

_IEQuit($oIE)

我调试了,上面_IEGetObjById已经取到了该Id,且_IEAction的返回结果是“1”,但就是没有执行网页上的该元素的OnClick

yh_albin 发表于 2018-7-26 13:12:34

本帖最后由 yh_albin 于 2018-7-26 13:17 编辑

我在IE11下也查了了网页的“源文件”,代码与IE8下没啥区别。就是在IE11下_IEAction($CheckOut, "click")没响应,但_IEAction的执行结果返回的是“1”。

mars0916 发表于 2018-7-26 14:40:01

先看看是不是有同樣ID
給你一段代碼
請依你的環境修改
這樣可以看是不是有重複ID
$oIE = _IEAttach($hwnd)
$objs = _IETagnameGetCollection ($oIE ,"i")
   For $obj In $objs
          If $obj.id == 'ctl00_ctl46_g_23105813_1daf_4c2a_b652_8ff42b3594ef_ctl00_btnCheckOut' then
                  ConsoleWrite($obj.id & @CRLF)
          EndIf
Next

duxing 发表于 2018-7-26 15:23:22

没那么复杂,我以前也是遇到此问题,换个高版本AU3就解决了

yh_albin 发表于 2018-7-26 16:56:39

duxing 发表于 2018-7-26 15:23
没那么复杂,我以前也是遇到此问题,换个高版本AU3就解决了

多谢大师!
下了个最新的autoit 3.3.14.5,重新调试,解决了。

liangxm 发表于 2018-8-3 14:44:59

我的win10 ie11,换了个SciTE-LiteVersion 3.5.4 都开不了_IE_Example
页: [1]
查看完整版本: autoit 在IE11下执行_IEAction的click时无响应