Jump to content
Zippo89

Problem with _IEAction click on Button / _IETagNameGetCollection - (Locked)

Recommended Posts

Hello ūüôā

I have been trying to understand and implement other forum posts, functions and explanations for hours. However, I have not yet come up with the perfect result. Maybe someone can help me.

The biggest problem of my lesson at the moment is, that i want to _IEAction('', "click") on a button of a website when i dont have an id or name of the object.
I learned everything about _IEGetObjById and _IEGetObjByName. And for my testings on different websites it worked very well.

Then I read and tried a lot of forum posts for the same problem. And found 
alot advice to use cheese _IETagNameGetCollection.

Here are my results:

#include <IE.au3>
;~ ;Google1
Local $oIE = _IECreate("google.com")
WinSetState(_IEPropertyGet($oIE, "hwnd"), "", @SW_MAXIMIZE)
Local $oDivs = _IETagNameGetCollection($oIE, "input")
For $oDiv In $oDivs
    If StringInStr($oDiv.classname, "RNmpXc") Then _IEAction($oDiv, "click")
Next
#include <IE.au3>
;Google2
Local $oIE = _IECreate("google.com")
WinSetState(_IEPropertyGet($oIE, "hwnd"), "", @SW_MAXIMIZE)
Local $oDivs = _IETagNameGetCollection($oIE, "a")
For $oDiv In $oDivs
    If StringInStr($oDiv.classname, "gb_ee gb_4 gb_Xc") Then _IEAction($oDiv, "click")
Next

With these tests I understood how _IETagNameGetCollection works.
And I applied and implemented it for my problem.

Here is the code for the botton from website i tested with.

<span class="pull-left"><button class="btn btn-default whisper-btn">Whisper</button></span>

And here is my solution to press the button.

#include <IE.au3>
Local $oIE = _IECreate("https://www.pathofexile.com/trade/search/Delirium/glaK5w7FQ")
WinSetState(_IEPropertyGet($oIE, "hwnd"), "", @SW_MAXIMIZE)

Sleep(10000) 
Beep(500)

Local $oDivs = _IETagNameGetCollection($oIE, "button")
For $oDiv In $oDivs
If StringInStr($oDiv.classname, "btn btn-default whisper-btn") Then _IEAction($oDiv, "click") 
Next

_IELoadWait($oIE)

And it works. When the site is loaded, the code clicks all Whisper buttons one after another.

Spoiler

Btw: Is the _IELoadWait($oIE) not setted correctly or why i have to use sleep here until the Page is loaded. If i dont pause the script with the sleep function the _IEAction dosnt work.

Here comes my problem.

After the _IEAction($oDiv, "click"), i want to use more functions, before the next click is done. But whenever i add something to the code the buttons didnt get pressed anymore and the new functions are looping forever until i exit. I tried a loop inside a loop but it dont help aswell.

Here are the final codes:

Tried to do functions directly in the For...In...Next Loop failed

#include <IE.au3>
HotKeySet("{END}", "_Quit")

Local $oIE = _IECreate("https://www.pathofexile.com/trade/search/Delirium/glaK5w7FQ")

WinSetState(_IEPropertyGet($oIE, "hwnd"), "", @SW_MAXIMIZE)

Sleep(15000)
Beep(500)

Local $oDivs = _IETagNameGetCollection($oIE, "button")
Local $i = 0

For $oDiv In $oDivs
If StringInStr($oDiv.classname, "btn btn-default whisper-btn") Then _IEAction($oDiv, "click")

Do
WinActivate("[CLASS:Notepad]", "")
Send("{ENTER}" &"^v" & "{SPACE}" &"{ENTER}")
WinActivate("[CLASS:IEFrame]", "")
$i = $i + 1
Until $i = 10

Next

_IELoadWait($oIE)


Func _Quit()
    Exit
EndFunc

Tried to do loop the For...In...Next into Do...Until, works best so far
 

#include <IE.au3>
HotKeySet("{END}", "_Quit")

Local $oIE = _IECreate("https://www.pathofexile.com/trade/search/Delirium/glaK5w7FQ")

WinSetState(_IEPropertyGet($oIE, "hwnd"), "", @SW_MAXIMIZE)

Sleep(15000)
Beep(500)

Local $oDivs = _IETagNameGetCollection($oIE, "button")
Local $i = 0

Do

For $oDiv In $oDivs
If StringInStr($oDiv.classname, "btn btn-default whisper-btn") Then _IEAction($oDiv, "click")
Next

_IELoadWait($oIE)

WinActivate("[CLASS:Notepad]", "")
Send("{ENTER}" &"^v" & "{SPACE}" &"{ENTER}")
WinActivate("[CLASS:IEFrame]", "")


$i = $i + 1
Until $i = 5

_IELoadWait($oIE)

Func _Quit()
    Exit
EndFunc

At least the functions after the For In Next works.. but i dont know how i can achieve that the functions will work correct together.

Quote

Find the next button, click, functions, again.

I tried my best to explain my issue and hope its easy to understand. I hope to learn more :-). Thanks!

 

Share this post


Link to post
Share on other sites

Welcome to the AutoIt forum.

Unfortunately you appear to have missed the Forum rules on your way in. Please read them now - particularly the bit about not discussing game automation - and then you will understand why you will get no help and this thread will now be locked.

See you soon with a legitimate question I hope.

The Moderation team


"Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball

How to get your question answered on this forum!

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...