Popupfenster + kurzer Text + ok

  • Es öffnet sich ein Popupfenster, dort muss ein kurzer Text rein (der Courser steht schon an der richtigen Stelle) und dann muss das ganze nur noch per ok Button weggeschickt werden.

    Wie fange ich das an? Habe schon fleißig hier gesucht, aber bin nicht wirklich fündig geworden. Sorry!

  • Anscheinend warst du nicht wirklich fleißig.

    [autoit]

    MsgBox(0,"Titel","Dein Text steht hier")

    [/autoit]

    oder aber

    [autoit]

    InputBox("Schreiben","Bitte Text eingeben!")

    [/autoit]

    Ich hoffe das war das was du gemeint hast. Deine "Frage" ist sehr schwammig formuliert.

  • Ich glaube er meinte eher ein externes Popup also keins in seinem Script.
    Um Text einzufügen:

    [autoit]

    ControlSetText
    ;oder
    ControlSend

    [/autoit]

    auf Button klicken:

    [autoit]

    ControlClick

    [/autoit]

    Die ID der Elemente kannst du mit dem AutoIt Window Info Tool herausfinden. (in SciTE im Menü Tools==>Au3Info)
    Ich hoffe ich konnte dir damit helfen. :D

  • Erst einmal vielen Dank für Eure Antworten und sorry wenn es wieder nicht genau genug formuliert war.
    Molaynox Du lagst richtig, aber irgendwie bin ich zu blöde das hinzubekommen. Habe gestern 3 Stunden probiert und etliche Sachen ausprobiert.

    Habe es nun statt mit einem Popup erst einmal mit einer einfachen Google-eingabe im Firefox probiert und da passiert auch nichts.

    Code
    #Include <FF.au3>
    run ("d:\internet\Mozilla Firefox\firefox.exe ") ; firefox startet, MozLab ist an
    ControlSend("Google - Mozilla Firefox", "", "[ClassnameNN:MozillaWindowClass8]", "Autos")


    Habe unzählige Kombinationen mit Class und ClassnameNN ausprobiert, aber irgendwas habe ich sicher vergessen?

    Das AutoIT v3 Windows Info-Tool zeigt mir das:

    Spoiler anzeigen

    Wie ich aber mit dem Tool an die einzelnen Controls-IDs (Elemente) komme, bleibt mir aber ein Rätsel.

  • Mir fehlt da wohl eine Windung für, ich bekomme es nicht hin. Habe auch schon unendlich viele Varianten durch hier meine letzte:

    Code
    If _FFConnect() Then
    _FFSetValue("mein-passwort", "[Class:MozillaWindowClass]", "")
    EndIf


    Ich weiß das man das alles über die _FFFormSubmit() Funktion laufen lassen kann, aber eigentlich wollte ich autoit ein wenig erlernen. Und nun scheitre ich schon an einem FF-Popup, wo nur ein Wort eingefügt werden muss und dann der Ok-Button gedrückt werden muss. Keine Ahnung was ich falsch mache?

    Hier die Daten vom AutoIT v3 Windows Info-Tool:

    Spoiler anzeigen


    Vielleicht habt ihr ja noch einen Tipp?

  • Schau dir das hier nochmal an: http://german.documentation.ff-au3.thorsten-willert.de/ff_functions/_FFSetValue.php
    Du musst entweder die id oder den name des inputs herausfinden aus dem Quelltext.
    z.B. so

    [autoit]

    _FFSetValue("My_Password", "pass", "id")

    [/autoit]

    Edit: Das Autoit Window Info Tool bringt dir da leider nichts. Du kannst aber dazu das Addon FireBug benutzen. Mit dem Kannst du die id oder den Namen blitzschnell herausfinden. :thumbup::thumbup::thumbup:

    Einmal editiert, zuletzt von Molaynox (13. Januar 2011 um 20:37)

  • Schau dir das hier nochmal an: http://german.documentation.ff-au3.thors%e2%80%a6_FFSetValue.php
    Du musst entweder die id oder den name des inputs herausfinden aus dem Quelltext.

    Ja aber genau das habe ich ja probiert. Die id und den Namen habe ich nicht heraus bekommen, deshalb habe ich probiert das Ganze halt über

    Code
    class= Klasse des Elements

    anzusprechen, die Möglichkeit wird ja angezeigt.
    Ich vermute aber, dass ich einen Syntax-Fehler beim Schreiben begehe oder die Class falsch schreibe.

    Ich weiß ja auch nicht welche class ich aus dem AutoIT v3 Windows Info-Tool nehmen soll?

    Code
    >>>> Window <<<<
    Class:MozillaDialogClass
    oder
    >>>> Control <<<<
    Class:MozillaWindowClass
    Instance:1
    ClassnameNN:MozillaWindowClass1
    Advanced (Class):[CLASS:MozillaWindowClass; INSTANCE:1]

    Und so weit ich das Beispiel auf
    http://german.documentation.ff-au3.thorsten-willert.de/ff_functions/_FFSetValue.php
    verstanden habe, muss ich doch die Class an die zweite Stelle schreiben oder?

    Zitat

    Du kannst aber dazu das Addon FireBug benutzen. Mit dem Kannst du die id oder den Namen blitzschnell herausfinden.

    FireBug habe ich, aber sobald das Popup aufmacht, komme ich an den FireBug nicht ran. ?(

    @autoBert,

    Zitat

    handelt es sich hierbei zufällig um dieses Problem? Firefox Masterpasswort eingeben

    Es scheint ähnlich gelagert zu sein. Nach dem ich mein Masterpasswort eingebe, bekomme ich von meinem Server ein Authentifizierung-Popup im Firefox mit einem Input-Feld und einen Ok-Button. Weder kann ich bisher einen Text eingeben noch den Ok-Button betätigen. Eigentlich ist das ja keine schwere Aufgabenstellung, aber ich beiße mir die Zähne dran aus. Habe keine Ahnung was ich noch machen soll?

  • Ich zitiere mich mal selbst.

    Das Autoit Window Info Tool bringt dir da leider nichts. Du kannst aber dazu das Addon FireBug benutzen. Mit dem Kannst du die id oder den Namen blitzschnell herausfinden. :thumbup: :thumbup: :thumbup:


    Wie gesagt die Class in dem Window Info Tool hat mit der Class die in _FFSetValue verwendet werden kann nichts zu tun.

    Zitat von Poster63

    FireBug habe ich, aber sobald das Popup aufmacht, komme ich an den FireBug nicht ran. ?(


    Wie hast du es mit FireBug versucht.
    Du musst mit der rechten Maustaste auf den Button klicken und dann auf Element untersuchen.
    Dabei öffnet sich unten im Firefox eine Konsole mit der Stelle des Quelltextes wo der Button steht.

    z.B. Der Absenden Button beim Neuen Beitrag
    Code
    <input type="submit" tabindex="5" value="Absenden" accesskey="s" name="send">


    Da siehst du dann z.B. tabindex, value, und name oder id.

    Zitat von Poster63

    Und so weit ich das Beispiel auf
    http://german.documentation.ff-au3.thors%e2%80%a6_FFSetValue.php
    verstanden habe, muss ich doch die Class an die zweite Stelle schreiben oder?


    Ja das stimmt.

    Jetzt habe ich noch eine Frage: Handelt es sich bei dem Popup um eine Internet-Seite oder um ein Popup wie z.B. das von den Einstellungen?

  • Wie gesagt die Class in dem Window Info Tool hat mit der Class die in _FFSetValue verwendet werden kann nichts zu tun.

    Was meinen die dann für eine Class? Eine css-class?

    Du musst mit der rechten Maustaste auf den Button klicken und dann auf Element untersuchen.

    Dabei öffnet sich unten im Firefox eine Konsole mit der Stelle des Quelltextes wo der Button steht.

    Weiß ich schon, geht aber wie gesagt nicht, wahrscheinlich wegen letzterer Frage.

    Jetzt habe ich noch eine Frage: Handelt es sich bei dem Popup um eine Internet-Seite oder um ein Popup wie z.B. das von den Einstellungen?

    Ja und daran liegt es evtl..
    Am Anfang dachte ich, dass wäre ein normales schickes Popup, aber daran zweifle ich jetzt. Denn das Verhalten ist eher wie das vom Einstellungen-Popup oder wie immer auch dieser Fenstertyp heißen mag.
    Das was mich aber stutzig macht oder verwirrt ist, dass ich halt eine Internetseite ansteuere und dann dieser Fenstertyp eine Eingabeaufforderung will.

  • Ja und daran liegt es evtl..
    Am Anfang dachte ich, dass wäre ein normales schickes Popup, aber daran zweifle ich jetzt. Denn das Verhalten ist eher wie das vom Einstellungen-Popup oder wie immer auch dieser Fenstertyp heißen mag.
    Das was mich aber stutzig macht oder verwirrt ist, dass ich halt eine Internetseite ansteuere und dann dieser Fenstertyp eine Eingabeaufforderung will.


    Dann wird das mit der FF.au3 warscheinlich nichts mehr. Oder ist es eine Javascript prompt Box?
    Wenn es wirklich wie ein Einstellungs Menü ist dann wird es schwer.
    Das Autoit Info Tool hat dir ja das gesagt: Class:MozillaDialogClass und das würde bedeuten das es wirklich wie ein Einstellungs Menü reagiert. Und das wiederrum würde bedeuten das sowohl die Control Funktionen als auch die FF.au3 Funktion nichts nützen werden. :wacko:

    Zitat von Poster63

    Was meinen die dann für eine Class? Eine css-class?


    Das was im Quellcode hinter class= steht. Es muss aber keine class existieren soweit ich weis.

  • Also so wie sich das anhört behaupte ich jetzt mal dass dieses Popup Dingens einfach die Proxy-Authentifizierung vom Firefox ist.

    Wenn ja müsstest du die eig wie eine ganz normale GUI ansteuern können.

  • Also so wie sich das anhört behaupte ich jetzt mal dass dieses Popup Dingens einfach die Proxy-Authentifizierung vom Firefox ist.

    Keine Ahnung was Proxy in diesem Falle heißt. Auf jeden Fall habe ich einen Verzeichnisschutz für einen kleinen Teil meiner Webseite angelegt und wenn ich den ansurfe, meldet sich dieses Popup mit "Authentifizierung erforderlich" und dem entsprechenden Input-Feld.

    Wenn ja müsstest du die eig wie eine ganz normale GUI ansteuern können.

    Wenn dies so sein sollte, welchen Befehl brauche ich dafür?
    zb:

    Code
    GUICtrlSetData ( controlID, data [, default] )


    Da fehlt mir dann wieder die ControlID? So dreh ich mich im Kreis.
    Oder gibt es einen anderen Befehl um die ID herauszubekommen oder einen anderen Befehl den ich noch nicht kenne?

  • Ich kanns hier leider nicht testen, aber du müsstest mit

    [autoit]

    WinWaitActive()

    [/autoit]

    und der WindowClass ID von AU3Info ran kommen. Also das ist keine GUI wie bei AutoIt, sondern ein ganz normales Fenster.

  • Keine Ahnung was Proxy in diesem Falle heißt. Auf jeden Fall habe ich einen Verzeichnisschutz für einen kleinen Teil meiner Webseite angelegt und wenn ich den ansurfe, meldet sich dieses Popup mit "Authentifizierung erforderlich" und dem entsprechenden Input-Feld.


    Also per .htaccess?

    Code
    GUICtrlSetData ( controlID, data [, default] )


    Da fehlt mir dann wieder die ControlID? So dreh ich mich im Kreis.
    Oder gibt es einen anderen Befehl um die ID herauszubekommen oder einen anderen Befehl den ich noch nicht kenne?


    Ich schätze mal, dass das mit den Control Befehlen dann nicht geht. Weil Mozilla Firefox für das Autoit Window Info Tool irgendwie nur ein Fenster ist ohne irgendwelche Controls, wodurch das ansteuern per Control Befehl nicht möglich ist. Ich habe allerdings noch nichts in der FF.au3 gefunden was die .htaccess ansteuern kann. Wenn es wirklich nichts gibt wird MouseClick und Send die einzige Möglichkeit bleiben.

  • Ich kann das Fenster bei nicht anzeigen lassen, aber mit dem Einstellungen-Fenster funzt das...

    [autoit]

    If WinWaitActive("[CLASS:MozillaDialogClass]") Then
    if WinGetTitle("[CLASS:MozillaDialogClass]") = "Einstellungen" Then
    MsgBox(0,"","JO")
    EndIf
    EndIf

    [/autoit]

    Ist eig ne IF zu viel aber egal, haste das so ähnlich mal getestet?

  • @Ishikawa,
    ich denke, Du hast uns auf die richtig Fährte geschickt.

    Aber es bleiben für mich noch etlich Frage offen, bei denen ich Eure Hilfe brauche.

    Code
    #Include <FF.au3>
    run ("d:\internet\Mozilla Firefox\firefox.exe ") ; firefox starten, MozLab ist an
    
    
    If WinWaitActive("[CLASS:MozillaDialogClass]") Then
    if WinGetTitle("[CLASS:MozillaDialogClass]") = "Passwort erforderlich" Then
        MsgBox(0,"","JO")
    EndIf
    EndIf


    Das eigentliche Fenster bekomme ich damit noch nicht angesprochen, aber dafür das Masterpasswort-Fenster vom FF. Das reagiert zum ersten mal und ich bekomme in der MsgBox "JO" zu sehen. Da diese Fenster scheinbar dem selben Typus angehören, sind wir auf der richtigen Fährte. Hoffe ich zumindest.

    Als nächstes müsste ich von Euch erfahren, welchen Befehl ich brauch um das Passwort eingeben zu können, aber dafür benötigt man ja bestimmt wieder die ID, die müsste ich also auch irgendwie heraus bekommen.
    An dieser Stelle einmal ein großes Danke an alle die hier Helfen.

    Bin ich mit

    [autoit]

    WinGetHandle

    [/autoit]

    auf dem richtigen Weg?