coolvirus 发表于 2013-7-7 15:01:27

非常头疼!_IELinkClickByText失效!

一直用的好好的,这次编写autoit时_IELinkClickByText总是没有反应,但是获取网页信息(如id、innerText等都正常),_IELinkClickByText的参数确定没有错的~~
于是用_iecreate生成对象,自己getelementbyid后再click,还是不行,莫非是ie的原因?
在线等高手!

coolvirus 发表于 2013-7-7 15:03:07

天啊,看来真的是ie问题,发帖点确定没有反应,再点,再点,原来发了3个了~~求毁灭(2个)
有高手知道如何修复ie这个问题?

骗子 发表于 2013-7-8 10:02:47

Func _IELinkClickByText(ByRef $o_object, $s_linkText, $i_index = 0, $f_wait = 1)
        If Not IsObj($o_object) Then
                __IEErrorNotify("Error", "_IELinkClickByText", "$_IEStatus_InvalidDataType")
                Return SetError($_IEStatus_InvalidDataType, 1, 0)
        EndIf
        ;
        Local $found = 0, $linktext, $links = $o_object.document.links
        $i_index = Number($i_index)
        For $link In $links
                $linktext = $link.outerText & "" ; Append empty string to prevent problem with no outerText (image) links
                If $linktext = $s_linkText Then ;If StringInStr ($linktext , $s_linkText) Then
;;;;;;把上面的这个换成   If StringInStr ($linktext , $s_linkText) Then
                        If ($found = $i_index) Then
                                $link.click()
                                If $f_wait Then
                                        _IELoadWait($o_object)
                                        Return SetError(@error, 0, -1)
                                EndIf
                                Return SetError($_IEStatus_Success, 0, -1)
                        EndIf
                        $found = $found + 1
                EndIf
        Next
        __IEErrorNotify("Warning", "_IELinkClickByText", "$_IEStatus_NoMatch")
        Return SetError($_IEStatus_NoMatch, 0, 0) ; Could be caused by parameter 2, 3 or both
EndFunc   ;==>_IELinkClickByText
页: [1]
查看完整版本: 非常头疼!_IELinkClickByText失效!