(已解决)关于网页模拟点击按钮很奇怪的一件事
本帖最后由 papapa314 于 2011-1-20 18:13 编辑我用如下代码可以点击到"百度一下"按钮,
#include<ie.au3>
$oIE=_IECreate("www.baidu.com")
WinWait("百度一下")
$oinputs=_IETagNameGetCollection($oIE,"input")
For $oInput In $oInputs
If $oInput.value = "百度一下" Then
_IEAction($oInput,"click")
EndIf
Next
可是,当我不关这个网页,用如下代码,就点击不到“百度一下”按钮了,而且还报错:“_IEStatus_InvalidDataType”
#include<ie.au3>
$oIE=WinActivate("百度一下")
sleep(1000)
$oinputs=_IETagNameGetCollection($oIE,"input")
For $oInput In $oInputs
If $oInput.value = "百度一下" Then
_IEAction($oInput,"click")
EndIf
Next
问这个问题的原因是,我们在操作网页的时候,可能要先激活某个窗口,然后再对这个窗口点击按钮,可是如此一来,就会出现上面的后果。
另外,补充一点,也可以用如下代码点击,然而,当网页不是马上生成的话,也无法点击,同时报错,问题与上类似:
$a=_IEGetObjById($oIE,"su")
_IEAction($a,"click")
请高手指教。
谢谢! 回复 1# papapa314
$oIE=_IEAttach("百度一下") #include<ie.au3>
$handle = WinGetHandle("百度一下,你就知道 - Windows Internet Explorer")
$oIE = _IEAttach($handle, "HWND")
$oinputs = _IETagNameGetCollection($oIE, "input")
For $oInput In $oinputs
If $oInput.value = "百度一下" Then
_IEAction($oInput, "click")
EndIf
Next 回复 3# ceoguang
呵呵能用,单纯的用$oIE=_IEAttach("百度一下"),有时候行,有时候不行,但用这个好像都行,非常感谢!
页:
[1]