SorryButImaNewbie Posted January 22, 2015 Posted January 22, 2015 (edited) Hello people! I checked the autoit help file and searched for this question in the forums, but didn't find specificly what I'm lookginf for. A program of mine is testing a webpage wich offers craditcard payment option. I send the teszt datas to these controls, but every so often it leave some of them empty. Rendering that "turn" useless. I tried to give them longer sleeps to be sure that the page is loaded(tried with _IELoadWait to, but seems like the page is javascripted mainly, thus _IELoadWait basicly completes much more faster then the page itself), but these solutions weren't solved the problem 100%, also sleep could delay the thing to much. My question is, is there any function like ControlGetText or something like it, for IE automatization? Edit: Or any other solution that I seem to miss, in this problem! Thank you! SorryButImaNewbie Edited January 22, 2015 by SorryButImaNewbie
SorryButImaNewbie Posted January 22, 2015 Author Posted January 22, 2015 (edited) I tried to handle the problem with the _IEGetProperty, because if some information isnt right, or not acceptable the page change URL, I tried to check if I see that then try to reenter the datas. Code: If _IEPropertyGet($oIE, "locationurl") = "that url" Then MsgBox(0,"Hiba","Látom, hoyg szar!") EndIf However I dont see the message box poping up, I try "locationname", maybe that works. edit: It doesn't Is there a problem with my code snipet? Edited January 22, 2015 by SorryButImaNewbie
SorryButImaNewbie Posted January 22, 2015 Author Posted January 22, 2015 Hello I seems to solved the problem with a roundabout way. I checked the page for the strings indicating x,or y, card data isn't right. like this Local $sText = _IEBodyReadText($oIE) Local $CheckoKatryaSzam = StringInStr($sText, "A bankkártyaszám megadása kötelező.") If Not ($CheckoKatryaSzam == 0) Then Local $oKatryaSzam = _IEGetObjByName($oIE, "inditoKartya") _IEAction($oKatryaSzam, "focus") Send($KartyaSzam) EndIf Local $CheckoKartyaraIrtNev = StringInStr($sText, "Kártyára írt név megadása kötelező!") If Not ($CheckoKartyaraIrtNev == 0) Then Local $oKartyaraIrtNev = _IEGetObjByName($oIE, "kartyaraIrtNev") _IEAction($oKartyaraIrtNev, "focus") Send($sNev) EndIf If it finds one it tries to fill it out again. If you see something to improve or have anycomment on the solution pls feel free to comment, I have to learn (MOOAAR KNOWLADGE, MOOOAR EXPERIENCE) Thank you and have a nice life!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now