1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. cobain86

Beiträge von cobain86

  • IE Message Fenster beantworten

    • cobain86
    • 14. März 2011 um 21:21

    anbei das Bild!

    Bilder

    • Bildschirmfoto 2011-03-14 um 21.20.50.png
      • 19,71 kB
      • 304 × 437

    Dateien

    Bildschirmfoto 2011-03-14 um 21.19.28.png 130,92 kB – 0 Downloads
  • IE Message Fenster beantworten

    • cobain86
    • 14. März 2011 um 20:34

    habs heute auch mal mit "SEND" probiert
    auch keine abhilfe
    der Send wir erst nachdem ich die Messagebox per maus betätigt habe durchgeführt.
    sprich solange die box offen ist läuft das autoIT script nicht :(

  • IE Message Fenster beantworten

    • cobain86
    • 13. März 2011 um 22:38
    Zitat von SEuBo

    Einfach mit ControlClick() auf den "OK"-Button klicken.
    Mit dem AutoIt Window Info Tool bekommst du die nötigen Daten zusammen. Einfach Strg+F6 in SciTE ;)

    das hab ich ja auch schon probiert
    leider kein erfogl

    [autoit]

    ControlClick("Meldung von Webseite", "", "[CLASS:Button; TEXT:OK; Instance:1;]")

    [/autoit]
  • IE Message Fenster beantworten

    • cobain86
    • 13. März 2011 um 22:08

    sorry für den fehlpost.
    hmm leider auch mit Attach keine abhilfe :(

  • IE Message Fenster beantworten

    • cobain86
    • 13. März 2011 um 21:08

    irgendwie zerhaut mir hier die website bzw. mein browser den code


    Spoiler anzeigen

    2
    3
    4
    5
    6
    7
    8
    9
    10

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Date.au3>
    #include <IE.au3>


    Global $ntpServer = '0.de.pool.ntp.org' ; NTP-Server zum synchronisieren der Uhrzeit über das Internet
    Dim $i = 0
    Dim $wartezeit = 2

    $oIE = _IECreate("http://www.wer-kennt-wen.de")
    ;Prüfen ob ein Objekt erzeugt wurde

    ;warten bis die Seite komplett geladen wurde
    _IELoadWait($oIE)
    ;Erzeugen eines HTML-Formular-Objekts mit Hilfe des Formularnamens
    $oForm = _IEFormGetObjByName($oIE, "loginform")
    ;Erzeugen eines Formularfeld-Objekts mit Hilfe des Feldnames
    $oUsername = _IEFormElementGetObjByName($oForm, "loginName")
    ;Setzen des Formularfeldinhalts
    _IEFormElementSetValue($oUsername, "Username hier eintragen")
    ;Erzeugen eines Formularfeld-Objekts mit Hilfe des Feldnames
    $oPasswd = _IEFormElementGetObjByName($oForm, "password")
    ;Setzen des Formularfeldinhalts
    _IEFormElementSetValue($oPasswd, "Passwort hier eintragen")
    ;Absenden des Formulars
    _IEFormSubmit($oForm)

    ;warten bis die Seite komplett geladen wurde
    _IELoadWait($oIE)
    ;alte einträge löschen
    _IEImgClick($oIE, "Eintrag löschen", "alt")


    ;hier soll das Poup mit der Meldung geschlossen werden
    If WinExists("Microsoft Internet Explorer", "") Then
    WinActivate("Microsoft Internet Explorer", "")
    Send("{TAB}{ENTER}")
    Endif

  • IE Message Fenster beantworten

    • cobain86
    • 13. März 2011 um 21:06

    Moin Moin

    ich arbeite gerade an einem kleinen script welches mir bei WKW meine alten einträge löscht.
    Also den lösch button und anmelden klappt super. nur nach dem betätigen des Buttons kommt eine MessageBox ob man wirklich lsöchen möchte.
    Diese kann ich leider nicht ansprechen. habs schon mehrfach mit Control send und Send probiert, leider keine abhilfe

    Wundert euch nicht über die libs oder sonstige zusatz sachen, gehört zu nem anderen projekt

    Anbei mal das Script

    [autoit]

    #include <ButtonConstants.au3>#include <EditConstants.au3>#include <GUIConstantsEx.au3>#include <StaticConstants.au3>#include <WindowsConstants.au3>#include <Date.au3>#include <IE.au3>
    Global $ntpServer = '0.de.pool.ntp.org' ; NTP-Server zum synchronisieren der Uhrzeit über das InternetDim $i = 0Dim $wartezeit = 2

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]

    $oIE = _IECreate("http://www.wer-kennt-wen.de");Prüfen ob ein Objekt erzeugt wurde
    ;warten bis die Seite komplett geladen wurde_IELoadWait($oIE);Erzeugen eines HTML-Formular-Objekts mit Hilfe des Formularnamens$oForm = _IEFormGetObjByName($oIE, "loginform");Erzeugen eines Formularfeld-Objekts mit Hilfe des Feldnames$oUsername = _IEFormElementGetObjByName($oForm, "loginName");Setzen des Formularfeldinhalts_IEFormElementSetValue($oUsername, "Hier Username eintragen");Erzeugen eines Formularfeld-Objekts mit Hilfe des Feldnames$oPasswd = _IEFormElementGetObjByName($oForm, "password");Setzen des Formularfeldinhalts_IEFormElementSetValue($oPasswd, "Hier PAsswort eintragen");Absenden des Formulars_IEFormSubmit($oForm)
    ;warten bis die Seite komplett geladen wurde_IELoadWait($oIE);alte einträge löschen_IEImgClick($oIE, "Eintrag löschen", "alt")

    [/autoit][autoit][/autoit][autoit]

    If WinExists("Microsoft Internet Explorer", "") Then WinActivate("Microsoft Internet Explorer", "") Send("{TAB}{ENTER}")Endif

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit]


    anbei das bild von der Message Box(habs auch schon über die Titel probiert aber leider nix)

    Bilder

    • Bildschirmfoto 2011-03-13 um 21.03.30.png
      • 17,29 kB
      • 303 × 135
  • Classen in Webseiten ansprechen

    • cobain86
    • 20. März 2010 um 23:26

    danke hat geklappt

    jetz gibt er mir aus was in CLASS steht (also "countMe resetMe") weil so heißt ja die classe.


    hmm aber ich kann immernochnichts ins Textfeld schreiben lassen.

    oder muss ich das array dann mit _IEFormElementSetValue ansprechen? wobei da müsst er doch den classennamen ändern wollen oder?


    ich möchte ja per autoIt etwas auf der Website in dem bereich der Classe(also in das textfeld der website) was reinschreiben und nich nur lesen.

  • Classen in Webseiten ansprechen

    • cobain86
    • 20. März 2010 um 22:59

    da passiert nix.

    nichtmal die message box erscheint.


    muss ich den classennamen noch irgendwo angeben?

  • Classen in Webseiten ansprechen

    • cobain86
    • 20. März 2010 um 22:10

    also wie ich ID#s von website über AutoIT anspreche weiß ich ja, aber geht das auch mit Klassen?


    ich habe nämlich 2 gleiche ID's (wobei die erste auf HIDDEN gestellt wird und nur durch die class untershieden wird.

    <p>
    <labelfor="jn_text">Test?</label>


    <textareaclass="countMe resetMe" id="jn_text" name="body" rows="2" cols="62"></textarea>


    </p>

    ich möchte mit AutoIT aber die Textarea mit der Class CountMe und der ID jn_text(die ja gleich ist wie bei label) ansprechen. wenn ich jedoch nur die ID anspreche nimmt er mir nur label.

  • AdliREgister wird nur 1x ausgeführt

    • cobain86
    • 20. März 2010 um 17:42

    hi

    ich baue mir gerade ein tool welches übers inernet die aktuelel uhrzeit holt und anzeigt und ab einer bestimmten sekunde bsp. 37 und 50 einen zähler hochzählt.


    jedoch zählt der zähler nur 1x hoch und danach nicht mehr. ich weiß nicht genau warum


    !!!gelöst! es fehlte bei der Abfrage ein $i +1 anstaatt nur +1
    anbei mal der code


    [autoit]

    #cs ----------------------------------------------------------------------------
    AutoIt Version: 3.3.6.0
    Author: myName
    Script Function:
    Template AutoIt script.
    #ce ----------------------------------------------------------------------------
    ; Script Start - Add your code below here
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Date.au3>
    #include <IE.au3>
    Global $ntpServer = '0.de.pool.ntp.org' ; NTP-Server zum synchronisieren der Uhrzeit über das Internet
    Dim $i = 0
    Dim $wartezeit = 2
    #Region ### START Koda GUI section ### Form=c:\users\steven\desktop\autoit projekt\hauptseite.kxf
    $Form1_1 = GUICreate("Zeitkommentar", 268, 383, 192, 124)
    $quit_btn = GUICtrlCreateButton("Quit", 144, 96, 75, 25, $WS_GROUP)
    $Save_btn = GUICtrlCreateButton("Speichern", 48, 96, 75, 25, $WS_GROUP)
    $Label1 = GUICtrlCreateLabel("Countdown:", 48, 40, 178, 17)
    $Label2 = GUICtrlCreateLabel("Aktuelle Zeit:", 48, 16, 178, 17)
    $Edit1 = GUICtrlCreateEdit("tee", 40, 152, 193, 193)
    $Label3 = GUICtrlCreateLabel("Wartezeit:", 48, 64, 52, 17)
    $wartezeit_inp = GUICtrlCreateInput(" ", 120, 64, 73, 21)
    GUICtrlSetData(-1, "3")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    AdlibRegister("_timer", 1000)
    AdlibRegister("_TimeSync", 600)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    AdlibUnRegister("_TimeSync")
    AdlibUnRegister("_timer")
    Exit
    Case $quit_btn
    AdlibUnRegister("_TimeSync")
    AdlibUnRegister("_timer")
    Exit
    Case $Save_btn
    Save()
    MsgBox(0, "Test", "Die Wartezeit wurde auf " & $wartezeit & " Gesetzt")
    EndSwitch
    WEnd
    Func Save()
    $wartezeit = GUICtrlRead($wartezeit_inp)
    EndFunc ;==>Save
    ;hier Beginnt der Durchlauf Counter
    Func _timer()
    $sek = StringRight(_TimeSync(), 2)
    If $sek = 30 or $sek = 50 Then
    $i = +1
    If $i = $wartezeit Then
    _IECreate("www.google.com", 1, 1, 0);hier muss die Funktion rein die dann nach ablauf ausgeführt werden soll
    $i = 0
    EndIf
    EndIf
    GUICtrlSetData($Label1, "Countdown: " & $i)
    EndFunc ;==>_timer
    Func _TimeSync()
    UDPStartup()
    Dim $socket = UDPOpen(TCPNameToIP($ntpServer), 123)
    ;$status = UDPSend($socket, MakePacket('1b0e010000000000000000004c4f434ccb1eea7b866665cb00000000000000000000000000000000cb1eea7b866665cb'))
    Local $status = UDPSend($socket, MakePacket('1b0e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'))
    Local $data = '', $a = TimerInit() ; Timer setzen, damit im Fehlerfall die Schleife abgebrochen wird
    While $data = ''
    $data = UDPRecv($socket, 100)
    Sleep(100)
    If TimerDiff($a) > 1000 Then ExitLoop ; Wenn Timer > 1sek. (Fehler), dann Schleife verlassen
    WEnd
    If $data <> '' Then
    UDPCloseSocket($socket)
    UDPShutdown()
    Local $unsignedHexValue = StringMid($data, 83, 8); Extract time from packet. Disregards the fractional second.
    Local $value = UnsignedHexToDec($unsignedHexValue)
    Local $TZinfo = _Date_Time_GetTimeZoneInformation()
    Local $TZoffset = -(UnsignedToLong($TZinfo[1]) + (UnsignedToLong($TZinfo[4]) * ($TZinfo[0] < 2)) + (UnsignedToLong($TZinfo[7]) * ($TZinfo[0] = 2)))
    Local $UTC = _DateAdd('s', $value, '1900/01/01 00:00:00')
    Sleep(100)
    ;Return _DateAdd('n',$TZoffset,$UTC)
    $uhr = StringSplit(_DateAdd('n', $TZoffset, $UTC), " ")
    GUICtrlSetData($Label2, "Aktuelle Zeit: " & $uhr[2])
    Return $uhr[2]
    EndIf
    EndFunc ;==>_TimeSync
    Func MakePacket($d)
    Local $p = ''
    While $d
    $p &= Chr(Dec(StringLeft($d, 2)))
    $d = StringTrimLeft($d, 2)
    WEnd
    Return $p
    EndFunc ;==>MakePacket
    Func UnsignedHexToDec($n)
    Local $ones = StringRight($n, 1)
    $n = StringTrimRight($n, 1)
    Return Dec($n) * 16 + Dec($ones)
    EndFunc ;==>UnsignedHexToDec
    Func UnsignedToLong($value)
    Local Const $OFFSET_4 = 4294967296
    Local Const $MAXINT_4 = 2147483647
    If $value < 0 Or $value >= $OFFSET_4 Then Return SetError(1, 0, $value) ;' Overflow
    If $value <= $MAXINT_4 Then
    Return $value
    Else
    Return $value - $OFFSET_4
    EndIf
    EndFunc ;==>UnsignedToLong

    [/autoit]

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™