AutoIT中的函数“_IEFormElementSetValue”和“_IEAction”

时间:2018-04-28 11:41:49

标签: autoit

为什么我不能一个接一个地运行这些功能?函数_IEFormElementSetValue()_IEAction()无法一起使用?

代码:

#include <IE.au3>

Local $oIE = _IECreate("http://www.google.com")
WinSetState("[ACTIVE]", "", @SW_MAXIMIZE)

; Feature 1: inserts the text into the search box google
Local $oDigita = _IEGetObjByName($oIE, "q")
_IEFormElementSetValue($oDigita, "Nome pesquisado")

; Feature 2: option button "I'm feeling lucky"
Local $oClica = _IEGetObjByName($oIE, "btnI")
_IEAction($oClica, "click")

1 个答案:

答案 0 :(得分:0)

您的代码适用于AutoIt版本 3.3.14.2 ,IE版本 11.0.9600.19266 。请尝试以下经过调整的变体,因为_IECreate()的行为并不总是稳定的。

代码:

#include-once
#include <IE.au3>

Global $oIE = _IECreate( 'http://www.google.com', 0, 1, 1, 1 )
WinSetState( '[ACTIVE]', '', @SW_MAXIMIZE )
Sleep( 1000 )

; Feature 1: inserts the text into the search box google
Global $oDigita = _IEGetObjByName( $oIE, 'q' )
_IEAction( $oDigita, 'click' )

ClipPut( 'Nome pesquisado' ) ; save string in clipboard
Send( '^v' )                 ; paste string with CTRL+V

; Feature 2: option button "I'm feeling lucky"
Global $oClica = _IEGetObjByName( $oIE, 'btnI' )
_IEAction( $oClica, 'click' )

通知:

函数_IEAction()Send()一样非常不稳定。我建议使用IE对象,该对象嵌入_IECreateEmbedded()的GUI中。