Das Script über dir füllt die Felder aus und klickt auf Anmelden. Wie aber willst du die Captchas umgehen?
Ich glaube nämlich das Youtube durch die Captchas automatische Logins unterbinden will.
Beiträge von sh0r7y
-
-
Was genau, soll denn die eine Funktion machen? Eine einfache Anmeldung?
[autoit]Func Anmeldung()
[/autoit][autoit][/autoit][autoit]$FillIn = _IEGetObjById($IE,"Email")
[/autoit][autoit][/autoit][autoit]
_IEFormElementSetValue($FillIn, "Login") // Login = Loginname
Sleep(1000)
$FillIn2 = _IEGetObjById($IE,"Passwd")
_IEFormElementSetValue($FillIn2, "passwort") //passwort = passwort passend zum login
$Button = _IEGetObjById($IE,"signIn")
_IEAction ($Button, "click")EndFunc
[/autoit]Funktioniert einwandfrei. Vorher aber per
[autoit]
[/autoit]
_IENavigate($IE, "https://www.google.com/accounts/ServiceLogin?uilel=3&service=youtube&passive=true&continue=http%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26nomobiletemp%3D1%26hl%3Dde_DE%26next%3D%252F&hl=de_DE<mpl=sso")zur Anmeldeseite navigieren.
-
Wenn die ID .end ist, wieso benutzt du dann _IEGetObjByName und nicht _IEGetObjById ?
Navigiere den Browser zur Anmeldung und fülle das Formular aus. Der Anmelde button ist
<input id="signIn" name="signIn">
Bei dir wäre es dann _IEGetObjByName ($Browser, "signIn")
-
Bis auf den Player wäre eine Umsetzung möglich. Da der Videoplayer ein kompletter Frame ist, kannst du z.B. die Playfunktion mit einem Hotkey knicken. Alles andere ist möglich.
Als erstes würde ich sagen, dass du eine GUI mit Koda bastelst. Dort bettest du dann den IE ein.
Dann musst du die Objekte mit _IEGetObjById auswählen und bestimmen was passieren soll. Also z.B.
_IEAction ($Button, "click"). Per HotKeySet kannst du das dann an Hotkeys binden.Edit: Zum Auslesen der ID's empfehle ich Web Developer für den Feuerfuchs.
-
Hallo sh0r7y,
poste einfach einmal dein bisheriges Skript,
mfg autoBert
[autoit]
Habe es schon selber hinbekommen, indem ich für Case 1, also der Case in dem der Login erfolgreich ist,
der Loginname auf das Script, welches dann startet, übergeben wird.
[/autoit]
$Name = $sBenutzername
GUISETSTATE(@SW_HIDE)
#include "ZuStartendesScript.au3"$Name habe ich dann im ZuStartendesScript.au3 deklariert und konnte es einfach verwenden.
-
_InetGetSource gibt den Sourcecode einer HTML-Seite zurück, wenn dein php-Skript stimmt enthält $iRValue also die Rückgabe der php-Funktion. Lass dir diese doch einfach einmal mit ConsoleWrite ausgeben, dann siehst du was zurück kommt.
[autoit]$sVideoLink = "TestLink" ;ändern
[/autoit]
$sSearchterm = "TestKeyword" ;ändern
$iRValue = _INetGetSource("url/keyword.php?videolink=" & $sVideoLink & "&keyword=" & $sSearchterm)
ConsoleWrite($iRValue & @CrLf)die Variablen $sVideoLink und $sSearchterm werden dabei aber nicht verändert,
mfg autoBert
Habe mich falsch ausgedrückt. Es soll nichts eingelesen sondern ausgelesen werden.
In der PHP werden 2 Variablen deklariert und erhalten jeweils einen Wert. Diese Werte will ich im Script verarbeiten.Ich probiere nochmal was aus und melde mich später nochmal.
Erstmal danke für deine Hilfe. -
Dies sind doch die beiden Werte mit denen du die php-Funktion aufrufst, du müsstest danach die Rückgabe also $iRValue auswerten, aber ehrlich gesagt verstehe ich den Sinn dahinter noch nicht,mfg autoBert
Okay jetzt bin ich überfordert

Ich dachte _INetGetSource liest die Werte, die die PHP ausgibt.
Oder gibt es dafür eine einfachere Methode die Variablen in der PHP Datei auszulesen?
Bzw. wie lese ich Variablen aus einer PHP mit Autoit aus?Das Programm dient zur Analyse im Bereich SEO für Youtube.
-
Davon bin ich ausgegangen dass dies dort stehen sollte, wenn es klappt kann ich kein weiteres Problem erkennen denn du hast die Rückgabe die du wolltest,
mfg autoBert
Das Problem ist, dass ich die Variablen $sVideoLink und $sSearchterm
außerhalb der Funktion verwenden will. Ich glaube _INetGetSource setzt voraus, dass beide Variablen gemeinsam genutzt werden und nicht einzeln._INetGetSource bekommt wahrscheinlich beide Werte, aber ich kann die beiden Werte nicht einzeln weiterverarbeiten.
-
Hallo sh0r7y,
was enthält denn die $iRValue nach ausführen des Skriptes,
mfg autoBert
$iRValue enthält den Videolink und das Keyword, was die PHP auswählt. -
Einen wunderschönen guten Tag,
ich bin immernoch fleißig am programmieren und habe schon einiges dazugelernt.
Zurzeit habe ich aber ein Problem mit _INetGetSource. Das PHP Script funktioniert.
EDIT: Funktioniert alles. Kollege hat das für mich mit
[autoit]$iRValue = _InetGetSource("url/datei.php")
[/autoit][autoit][/autoit][autoit]$IRValueSplit = StringSplit ($iRValue, ";split;", 1)
[/autoit][autoit][/autoit][autoit]$sVideoLink = $iRValueSplit[1];
[/autoit]
$sSearchterm = $iRValueSplit[2];eingerichtet
Gruss sh0r7y
-
Weiß einer wie das Programm nach einem erfolgreichen Login ein neues Programm startet?
Ich habe ein Programm mit einer graphischen Oberfläche entworfen und möchte, dass nach dem Login dieses Programm startet.
-
Danke funktioniert.
Habe noch eben #include "Array.au3" beigefügt, sodass das mit dem Array funktioniert.
Edit: Läuft jetzt so wie ich es brauche.
-
Keiner eine Ahnung, wie man das ganze umsetzen kann?
Hab mich weiterhin informiert, aber nichts gefunden, was mir hilft oder ich verstehe.
-
Danke für die Hilfe. Habe heute einen Punkt erlangt, wo ich nicht weiter weiß.
Thread habe ich auch mal aufgemacht. Für Tipps oder Hilfe wäre ich sehr dankbar.
-
Hallo,
ich benutze seit gestern Autoit und es scheint ein ganz nettes Programm zu sein.
Nun bin ich gerade dabei, mein Programm mit der Datenbank zu verknüpfen. Mein Script verbindet sich soweit mit der Datenbank, aber nun hab ich nach langen Recherchen immernoch keine Ahnung, wie ich eine Abfrage starte und die Werte benutze.
Ich habe eine Tabelle die "Views" heißt und natürlich Felder. Das eine Feld heißt "Link" und das andere "Keyword". Dabei ist dann immernoch eine "ID" per Auto_Increment. Die Tabelle und die Felder habe ich selbst angelegt.
Wie gelingt es mir nun, dass ich Link und Keyword abfrage und in der Funktion Search für send("keyword") das "keyword" ausfülle? Ebenfalls muss _IELinkClick("link") für "link" den Link aus der Datenbank einfügen.
Zurzeit sind gerade ca. 20 Links in der Datenbank, die einfach nach der Reihe rausgenommen und bearbeitet werden sollen. Hier der Code:
[autoit]#include <IE.au3>
[/autoit][autoit][/autoit][autoit]
#include "EzMySql.au3"$IE = _IECreate("http://www.seite.de")
[/autoit][autoit][/autoit][autoit]Search()
[/autoit][autoit][/autoit][autoit]Warten()
[/autoit][autoit][/autoit][autoit]_IELinkClick("link") ; klickt auf link
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]Func Search()
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]$Coll = _IEFormElementGetCollection($IE,0)
[/autoit][autoit][/autoit][autoit]$Obj = _IEFormElementGetObjByName($Coll,"formularfeld")
[/autoit][autoit][/autoit][autoit]_IEAction($Obj,"focus")
[/autoit][autoit][/autoit][autoit]send("keyword")
[/autoit][autoit][/autoit][autoit]$Obj = _IEFormElementGetObjByName($Coll,"")
[/autoit][autoit][/autoit][autoit]_IEAction($Obj,"focus")
[/autoit][autoit][/autoit][autoit]send("{ENTER}")
[/autoit][autoit][/autoit][autoit]EndFunc
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]Func _IELinkClick($sLink)
[/autoit][autoit][/autoit][autoit]$oLinks = _IELinkGetCollection($IE) ; alle Links werden als objekte gespeichert
[/autoit][autoit][/autoit][autoit]For $oLinks In $oLinks
[/autoit][autoit][/autoit][autoit]If StringInStr($oLinks.href,$sLink) Then ;wenn "link" enthalten -->
[/autoit][autoit][/autoit][autoit]_IEAction($oLinks,"click") ;Klick auf das objekt
[/autoit][autoit][/autoit][autoit]Return True ;Rückgabe True
[/autoit][autoit][/autoit][autoit]EndIf
[/autoit][autoit][/autoit][autoit]Next
[/autoit][autoit][/autoit][autoit]Return SetError(1) ; Link nicht gefunden
[/autoit][autoit][/autoit][autoit]EndFunc
[/autoit][autoit][/autoit][autoit]Func Warten()
[/autoit][autoit][/autoit][autoit]_IELoadWait ( $IE , Random(3000,6500,1) )
[/autoit][autoit][/autoit][autoit]EndFUnc
[/autoit][autoit][/autoit][autoit]-------------Das wäre meine MySql-Datei, die ich dann einbinde----------------
[/autoit][autoit][/autoit][autoit]If Not _EzMySql_Startup() Then
[/autoit][autoit][/autoit][autoit]
MsgBox(0, "Error Starting MySql", "Error: "& @error & @CR & "Error string: " & _EzMySql_ErrMsg())
Exit
EndIf$Pass = "pass"
[/autoit][autoit][/autoit][autoit]If Not _EzMySql_Open("localhost", "User", $Pass, "dbname", "3306") Then
[/autoit][autoit][/autoit][autoit]
MsgBox(0, "Error opening Database", "Error: "& @error & @CR & "Error string: " & _EzMySql_ErrMsg())
Exit
EndIfIf Not _EzMySql_SelectDB("dbname") Then
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit]
MsgBox(0, "Error setting Database to use", "Error: "& @error & @CR & "Error string: " & _EzMySql_ErrMsg())
Exit
EndIf -
Hi,
habe mich gestern mit Autoit auseinander gesetzt und finde es für manche Bereiche sehr praktisch.
Da ich noch kaum Ahnung habe, dachte ich mir, dass ich mich hier mal anmelde.
Hoffe ich nehme hier einiges an Erfahrung mit!
Gruss sh0r7y