Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

FF.au3 mały problem


Rekomendowane odpowiedzi

Specjalista
Opublikowano

Siema,

Jak wiecie używając FF.au3 i odpalając aplikacjie to otwiera nam nowe okno.

Ja to okno chciałem zastąpić też oknem , ale w aplikacji.

A mianowicie mam takie coś jak w załączniku.

 

Chcę aby mój AutoLogin korzystał właśnie z tego okna, nie mogę tego za bardzo rozkminić :)

 

Chcę abyście mnie naprowadzili na dobrą droge :)

 

@nowy błąd( nie dot. załącznika)

 

Otóż mam kawałek takiego skryptu :)

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <FF.au3>
GUICreate("Bot Gladiatus 0.1v by e X u", 800, 600, 50,50)
$login_input = GUICtrlCreateInput("", 10, 20,100,20)
$pass_input = GUICtrlCreateInput("", 120, 20,100,20)
$prow_input = GUICtrlCreateInput("", 280 , 18,20,20)
GUICtrlCreateLabel("Prowincja: ", 230,20,50,20)
GUICtrlCreateLabel("Login",10,5,100,12)
GUICtrlCreateLabel("Hasło",120,5,100,12)
$loguj = GUICtrlCreateButton("Loguuuj",305 , 15,70, 30)
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
Switch $msg
 Case $GUI_EVENT_CLOSE
  Exit
 case $loguj
  login()
EndSwitch
WEnd
func login()
$login = GUICtrlRead($login_input)
$pass = GUICtrlRead($pass_input)
$ser = GUICtrlRead($prow_input)
$serlog = "http://s"& $ser &".gladiatus.pl/game"
_FFStart($serlog)
$objekt_login = _FFObjGet("login_username", "id")
$objekt_haslo = _FFObjGet("login_password", "id")
_FFObj($objekt_login, "value", $login)
_FFObj($objekt_haslo, "value", $pass)
_FFFormSubmit()
EndFunc   ;==>login

A problem jest w tym że otwiera mi 2 okna firefoxa , gdzie w 1 poprawnie odczytuje adres url, a w 2 oknie w adresie url pojawia się

'4242' <= taki ciąg cyfr ... i niestety nie umożliwia mi pracy ..

a to z konsoli

>"C:\Program Files\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "C:\Documents and Settings\admin\Pulpit\c+\autoit\bot.au3" /UserParams  
+>18:18:52 Starting AutoIt3Wrapper v.2.1.0.8	Environment(Language:0415  Keyboard:00000415  OS:WIN_XP/Dodatek Service Pack 3  CPU:X64 OS:X86)
>Running AU3Check (1.54.22.0)  from:C:\Program Files\AutoIt3
+>18:18:52 AU3Check ended.rc:0
>Running:(3.3.8.1):C:\Program Files\AutoIt3\autoit3.exe "C:\Documents and Settings\admin\Pulpit\c+\autoit\bot.au3"  
__FFStartProcess: ""C:\Mozilla Firefox\firefox.exe" -new-window "http://s10.gladiatus.pl/game"  -repl 4242
_FFConnect: OS: WIN_XP WIN32_NT 2600 Dodatek Service Pack 3
_FFConnect: AutoIt: 3.3.8.1
_FFConnect: FF.au3: 0.6.0.1b-3
_FFConnect: IP: 127.0.0.1
_FFConnect: Port: 4242
_FFConnect: Delay:  2ms
_FFConnect: Socket:  1620
_FFConnect: Browser: Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2
__FFSendJavaScripts: Sending functions to FireFox .......... done
_FFLoadWait: .......... loaded in 2562ms
__FFSend: try{window.content.top.document.getElementById('login_username')?1:0;}catch(e){'_FFCmd_Err';};
__FFRecv: _FFCmd_Err
__FFSend: try{window.content.top.document.getElementById('login_password')?1:0;}catch(e){'_FFCmd_Err';};
_FFObjGet ==> No match: $sElement not found: login_username
__FFRecv: _FFCmd_Err
__FFSend: try{FFau3..hasAttribute('value')}catch(e){'_FFCmd_Err';};
_FFObjGet ==> No match: $sElement not found: login_password
__FFRecv: _FFCmd_Err
__FFSend: try{FFau3..value='dupa012'}catch(e){'_FFCmd_Err';};
__FFSend: ;
__FFWaitForRepl ==> MozRepl Exception
__FFRecv:
__FFSend: try{FFau3..hasAttribute('value')}catch(e){'_FFCmd_Err';};
__FFRecv: _FFCmd_Err
__FFSend: try{FFau3..value='dupa012'}catch(e){'_FFCmd_Err';};
__FFWaitForRepl ==> MozRepl Exception
__FFSend: ;
__FFRecv:
__FFSend: try{window.content.top.document.forms[0].elements.length;}catch(e){'_FFCmd_Err';};
__FFRecv: _FFCmd_Err
_FFFormSubmit ==> No match: No Elements found in form: forms[0]
+>18:19:14 AutoIT3.exe ended.rc:0
>Exit code: 0	Time: 22.962

post-306823-0-10654200-1329578477_thumb.jpg

Opublikowano

Aplikacja na screenie korzysta z IE.au3, nie FF.au3. Tam tworzysz objekt w aplikacji za pomocą _IECreateEmbedded.

 

Podobne rozwiązanie jest możliwe z FF ( pytaj jackraymund'a [wstawiał kiedyś link i solucję] albo google ), jednak wymaga instalowania zewnętrznych aplikacji/sterowników (co to tam jest) -> z tego i innych względów polecam generalnie korzystać z IE.au3.

Ta sygnatura jest pusta.

Specjalista
Opublikowano

a jeszcze takie pytanko, IE.au3 jest lepiej rozbudowane i etc ?

 

// ok już sprawdziłem :)

Dobra, musze przenieść się na IE.au3, chodź tak lubie FireFoxa

Opublikowano

WYWALCIE NA AMEN TE ZJEBANE IE ORAZ FF UDF-Y....

 

Jak bawicie się juz w śmiesznego autoita to polecam tylko i wyłącznie działanie na biblioteczce WinHttp.dll

stop1.png
Specjalista
Opublikowano

To znaczy ?

Co mają bibliotegi FF.au3, IE.au3 i etc do

WinHttp.dll ?

Bo nie rozumiem, a google nie odpowiada -_-

Opublikowano

Nie słuchaj flamer'a.

 

IE.au3 nie jest "lepiej rozbudowane". Jest po prostu jedyną valid opcją, ze względu na to, że FF.au3 łączy się z FF przez TCP, co jest absurdem.

IE.au3 korzysta z ActiveX'a.

 

Ponadto każdy Windows ma wbudowanego IE, pracując nad FF musiałbyś wymagać od użytkowników, żeby posiadali FF... i do tego MozRepl, potrzebne do komunikacji over TCP.

Ta sygnatura jest pusta.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...