Zeitgesteuerter Pagewechsel

  • Tagchen zusammen

    ich bin noch immer voll der Newb in Sachen AutoIT (Asche über mein Haupt :)). Ich will folgendes mit AutoIT erreichen. Ich hab ein IE Fenster offen und er solle alle 10 Sekunden eine neue Seite aufrufen. Es sind an die 40 Seiten und danach soll die Schleife von vorn beginnen. Wie löse ich das Problem am besten ?? Bin für jeden Tip dankbar.

    Grüße
    CrazyER

  • Hilfreich wäre es auf jeden fall zu wissen wofür du das brauchst. Ansonsten denke ich das ist das Script an sich nicht schwer wenn du die Seiten "nur" aufrufen willst.

    while 1

    do

    run("C:\Programme\Internet Explorer\iexplore.exe https://autoit.de/www.hurricane-gaming.de")


    while 1

    Do
    _FileReadToArray("Ort der Datei wo die Internetseiten aufgeführt sind (Pro reihe eine)", $Internetseite)

    for $i = 1 to $internetseite[0]
    run("C:\Programme\Internet Explorer\iexplore.exe $internetseite[$i]")
    WinWaitActive("", "", 10)
    Winclose("")
    Next
    until $i = 10000000 ; wird nie passieren...
    WEnd


    oder so ähnlich...

    MfG

    akira2012

    ***---____---Wer RechtSCHRAIBfehler findet der darf Sie behalLTEN!---___---***

    2 Mal editiert, zuletzt von akira2012 (2. Mai 2007 um 12:01)

  • emh....
    wozu gibts die ie.au3.....

    [autoit]

    #include<IE.au3>
    Global $oIE
    Dim $ie_site[41],$i
    $ie_site[0] = "www.google.de"
    $ie_site[1] = "www.autoit.de"
    $ie_site[2] = "www.andereseite.de"

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

    $ie_site[3] = "www.und.de"
    $ie_site[4] = "www.so.de"
    $ie_site[5] = "www.weiter.de"

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

    $oIE = _IECreate("about:blank",0,1) ;url,0,1 = visible url,0,0 = invisible
    $i = 0
    Do
    _IENavigate($oIE,$ie_site[$i])
    $i = $i+1
    $IEhtml = _IEBodyReadHTML($oIE);je nach dem was du brauchst....
    $IEtext = _IEBodyReadText($oIE);je nach dem was du brauchst....
    Sleep(10000);wartet 10 sek....müssten jedenfalls 10 sek sein....
    Until False;endlosschleife besser als die lösung oben....andere schlafen natürlich auch möglich.....while 1...etc....

    [/autoit]


    der snoozer

  • Ok Snoozi bin halt noch ein noob aber so WÄRe es auch geangen ^^ (Bis zur ie.au3 hab ich mich noch nicht vorgeabreitet) ;)


    MfG

    MfG

    akira2012

    ***---____---Wer RechtSCHRAIBfehler findet der darf Sie behalLTEN!---___---***

  • erstmal DANKE ihr beiden. Es funktioniert auch so halber ;o)

    Hab da nen paar Verständnisfragen:
    Dim $ie_site[41],$i <--- hier wird ein Array mit 41 Feldern erstellt ?? Warum 41 ??


    $oIE = _IECreate("about:blank",0,1) ;url,0,1 = visible url,0,0 = invisible
    <--- gibt es hier ne Einstellung, die ein RahmenlosesFenster öffnet ? Also wie als wenn man F11 drückt eben als kleines Fenster ;o)

    Until False <--- wo wird denn $i wieder auf 0 gesetzt, damit es eine Endlosschleife wird ??

    Sooo viele fragen
    Bin wie immer für jede Antwort dankbar ;o)

  • achja was ich vergessen hab....du musst die variable i irgendwann wieder runterzählen also sowas wie
    if $i = 40 Then
    $i = 0
    Endif
    und das ganze vor dem sleep oder danach...jedenfalls nicht vor _IeNavigate....
    ist dir auch grad selber aufgefallen^^

    [autoit]


    $oHWND = _IEPropertyGet($oIE, "hwnd");nach dem create einbasteln
    WinSetState ($oHWND, "", @SW_MAXIMIZE )

    [/autoit]


    sowas in etwa???
    40 probiers mal aus ob du bei autoit dann auf feld $feld[40] zugreifen kannst....ansonsten haste recht ;)
    kein prob ;)
    wenn die du inetseiten in ner datei hast dann _FileReadToArray naja egal viel spaß noch...
    //edit
    habs grad ausprobiert....musst eins mit 41 feldern erzeugen...

    //edit2
    mir fällt grad ein ich bin blöd :hammer: :hammer:^^ reicht eins mit 40 musst dann ja nur maximal auf dings 39 zugreifen -.- naja sorry ;)
    emh musst dann dementsprechend die if abfrage anpassen sonst gibts nen ungültigen zugriff....

    der snoozer

  • naja das mit dem SW_MAX ist nicht ganz was ich will.

    Im JavaScript würde das ganze so aussehen.

    Vielleicht hilft dir das weiter, was ich meine ;o)

  • like this....

    [autoit]

    $oIE = _IECreate("about:blank",0,1) ;url,0,1 = visible url,0,0 = invisible
    _IEPropertySet ($oIE, "height", 100)
    _IEPropertySet ($oIE, "width", 100)

    [/autoit]


    //edit
    kannst anstat 100 da einfach zwei variablen reinbasteln....
    wenn du das ganze fester noch verschieben willst empfehle ich WinMove ( "title", "text", x, y [, width [, height]] ) da kannste dann auch gleich neue höhe+breite einstellen....wenns geht ;) noch nie ausprobiert^^

    der snoozer

  • OK, andere idee

    ich kann ja mit AutoIT meine TEST.HTML starten, da ist dann der Code drin von vorher.

    Aber wie kann ich nun mit AutoIt sagen, das er den Link in dem IE öffnen soll, und wie kann ich ihm dann später sagen, das er die Schleife in diesem geöffneten Fenster öffnen soll ??

    Irgendwann werd ich das auch noch hinbekommen.

  • Und nochmal ich ;o)

    Soo, das Script läuft FAST. Es sind nun folgendermassen aus:

    Einziges Problem ist, das er die einzelnen Sites nicht aufruft, da er nicht weiß, in welches Fenster er es öffnen soll.
    In der Do-Schleife hab ich die $openIE Variable erstellt, doch da stimmt wohl der Befehl nicht ganz. Wie bring ich ihm nun bei, das er die Sites in dem neuen Fenster öffnen soll ??

    Grüße
    CrazyER

  • Soo nur als INFO, hab es nun selbst gelöst bekommen. Ich hab einfach eine neue Variable erstellt:

    $openIE = _IEAttach ("PNP Graph")

    Diese wurde dann durch _IENavigate aufgerufen und ZACK, funzt es schon. Kaum macht man es mal richtig ;o))

    Ich danke euch nochmal für eure Hilfe.

    Aber wahrscheinlich werde ich das ganze wohl über kurz oder lang doch mit nem Java Script einbetten in ne neue Site ;o) Aber hab wieder was dazugelernt.

    Grüße


    PS: Kann ich das Topic nicht selbst auf "gelöst" stellen ?? *grübel*

    Einmal editiert, zuletzt von CrazyER (3. Mai 2007 um 10:38)