Warum Läuft das Script nicht weiter ?

  • Hi, ich möchte aus den Gelben Seiten bestimmte Branchen auslesen und diese in mein Adressbuch übertragen.
    Dazu habe ich bis jetzt das angehängte gemacht,aber das Skript endet nach dem Submit im Nirvana.
    Sprich es ist noch im Speicher aber es geht nicht weiter.
    Warum nicht,es sollte mich danach nach der Trefferzahl fragen tut es aber nicht :(

    [autoit]


    #include <IE.au3>

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

    Dim $answer
    Global $Paused
    HotKeySet("{PAUSE}", "TogglePause")
    HotKeySet("{ESC}", "Terminate")
    $answer = 1

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

    $sUrl = "http://www.gelbeseiten.de/yp/quick.yp"
    $oIE = _IECreate ($sUrl,0,1,1,0)
    $oHWND = _IEPropertyGet($oIE, "hwnd")
    WinSetState ($oHWND, "", @SW_MAXIMIZE )
    $oForm = _IEFormGetCollection ($oIE, 0)

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

    Func TogglePause()
    $Paused = NOT $Paused
    While $Paused
    sleep(100)
    ToolTip('Script is "Paused"',0,0)
    WEnd
    ToolTip("")
    EndFunc

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

    Func Terminate()
    Exit 0
    EndFunc

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

    $sLocation = InputBox("Ortsabfrage", "Wo soll gesucht werden ?", "Karlsruhe", "", _
    -1, -1, 0, 0)

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

    $sGesuchtes = InputBox("Branche", "Welche Branche soll gesucht werden ?", "Motorradshop", "", _
    -1, -1, 0, 0)

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

    if StatusbarGetText( "GelbeSeiten - Branchenbuch - Shopping - SMS Auskunft - Stadtplan - Microsoft Internet Explorer", "Fertig") Then

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

    $oLocation = _IEFormElementGetObjByName ($oForm, "location")
    $oGesuchtes = _IEFormElementGetObjByName ($oForm, "subject")
    _IEFormElementSetValue ($oLocation, $sLocation)
    _IEFormElementSetValue ($oGesuchtes, $sGesuchtes)
    _IEFormSubmit ($oForm)

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

    EndIf

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

    $Treffer = InputBox("Trefferfrage", "Wieviele Treffer ergab die suche ?", "1", "", _
    -1, -1, 0, 0)

    [/autoit]


    Wäre klasse wenn mir da jemand auf die Sprünge helfen könnte.

    mfg

  • Das Problem ist es geschieht genau das was ich oben schon beschrieben habe.
    Das Script ist im Speicher und steht.
    Es läuft bis Zeile 42 danach sollte eigentlich die Inputbox kommen,tut es aber nicht.

    Mehr kann ich nicht beschreiben den mehr passiert nicht.
    Keine Fehlermeldung nichts.

    mfg

    • Offizieller Beitrag

    Es kann schon vom Ablauf her nicht funktionieren. Verwende deine Musterdaten mal von Hand.
    - bei Ort fragt er nach, welches Karlsruhe
    - bei Branche wird andere Branche vorgeschlagen

    Ich arbeite selten mit IE.au3, aber wenn ich mich nicht irre, mußt du Submit für das Objekt durchführen, dass die Daten führt

    [autoit]

    _IEFormSubmit ($oLocation)
    _IEFormSubmit ($oGesuchtes)

    [/autoit]


    Bin mir da allerdings nicht sicher.

  • ?
    Wenn du das Skript laufen lässt siehst du ja das er die Gelben seiten korrekt öffnet.
    Dort sind 2 Eingabefelder für einmal Ort und einmal die Branche.
    Das sind die beiden Inputboxen.
    Also werde ich gefragt nach welchem Ort und nach welcher Branche ich suchen will.
    Das macht er ja auch Korrekt.
    Auch das Submit wird durchgeführt aber dann kommt nichts mehr.
    Er zeigt mir dann auf der nächsten Seite die Treffer usw.
    Nur Autoit läuft nicht weiter durch das skript.
    Das Submit hier gilt für die Seite also das Form das dahinterliegt.

    Ich denke mal das der Fehler hier liegt irgendwo :

    $oForm = _IEFormGetCollection ($oIE, 0)

    Ich glaube das ich da eher sowas wie _IEFormGetObjByName verwenden müsste.

    Der Formname in den gelben seiten ist wenn ich das richtig gesehene habe quickSearchForm.

    Darum dachte ich auch schon das ich dass evtl. so machen müsste

    $oForm = _IEFormGetObjByName ($oIE, "quickSearchForm")

    Weis aber nicht wie oder was :(
    Es Passiert so allerdings genau das gleiche das skript geht nicht weiter zur nächsten Inputbox.

    mfg

    // Edit
    Verflixt und zugenagelt ich komme nicht weiter :(
    Ich bekomme keine Fehlermeldung und egal was ich Probiere bei dem Submit ist schluss.
    Nach wie vor das Script im Speicher aber es läuft nicht weiter.
    Drücke ich ESC wird es aber wie in der Function vorgesehen beendet.

    Kann mir den wirklich keiner Helfen ?
    (Ja ich weis mir ist eh nicht zu helfen ;) )

    Einmal editiert, zuletzt von Observer (25. Juli 2007 um 17:01)

  • Spoiler anzeigen
    [autoit]

    #include <IE.au3>

    Dim $answer
    Global $Paused
    HotKeySet("{PAUSE}", "TogglePause")
    HotKeySet("{ESC}", "Terminate")
    $answer = 1

    $sUrl = "http://www.gelbeseiten.de/yp/quick.yp"
    $oIE = _IECreate ($sUrl,0,1,1,0)
    $oHWND = _IEPropertyGet($oIE, "hwnd")
    WinSetState ($oHWND, "", @SW_MAXIMIZE )
    $oForm = _IEFormGetCollection ($oIE, 0)

    Func TogglePause()
    $Paused = NOT $Paused
    While $Paused
    sleep(100)
    ToolTip('Script is "Paused"',0,0)
    WEnd
    ToolTip("")
    EndFunc

    Func Terminate()
    Exit 0
    EndFunc

    $sLocation = InputBox("Ortsabfrage", "Wo soll gesucht werden ?", "Karlsruhe", "", _
    -1, -1, 0, 0)

    $sGesuchtes = InputBox("Branche", "Welche Branche soll gesucht werden ?", "Motorradshop", "", _
    -1, -1, 0, 0)


    _IELoadWait($oIE)
    $oLocation = _IEFormElementGetObjByName ($oForm, "location")
    $oGesuchtes = _IEFormElementGetObjByName ($oForm, "subject")
    _IEFormElementSetValue ($oLocation, $sLocation)
    _IEFormElementSetValue ($oGesuchtes, $sGesuchtes)
    _IEFormSubmit ($oForm)

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


    $Treffer = InputBox("Trefferfrage", "Wieviele Treffer ergab die suche ?", "1", "", _
    -1, -1, 0, 0)

    [/autoit]

    diese version nehmen. ansonsten funktiobniert das script ned auf jedem rechner :)


    Probiere grad das Prob mit der Inputbox zu lösen, abe irgendwie will das ned O_o

    Dieser Beitrag wurde 9521 mal editiert, zum letzten Mal von Blubkuh: Morgen, 02:28.

    [autoit]

    If Not $Elephant Then $Irelephant = True

    [/autoit]

    3 Mal editiert, zuletzt von Blubkuh (25. Juli 2007 um 18:30)

  • ?
    Ausser dieser Zeile

    _IELoadWait($oIE)

    Hast du nix geändert und das script macht immer noch das gleiche wie vorher.
    Nämlich stop nach dem Submit.
    Keine Inputbox die kommt,beendigung des Skriptes erst durch drücken der Taste ESC.

    Wie gesagt ansonsten alles beim alten.

    Noch eine Idee was da sein könnte ?

    mfg

  • if StatusbarGetText( "GelbeSeiten - Branchenbuch - Shopping - SMS Auskunft - Stadtplan - Microsoft Internet Explorer", "Fertig") Then


    diese ganze zeile musste ich rauslöschen, weil bei mir der titel nicht so heisst.
    deshalb lief erst garnichts.
    Und wie gesagt: Inutbox bekomm ich nch hin ;)

    Dieser Beitrag wurde 9521 mal editiert, zum letzten Mal von Blubkuh: Morgen, 02:28.

    [autoit]

    If Not $Elephant Then $Irelephant = True

    [/autoit]
  • Upps das habe ich nicht gesehen weil ich die zeile bei mir auch schon rausgenommen hatte ;)

    Danke aber für die Info mit dem IEWait wieder was dazugelernt ;)

    Kann ich das irgendwie in eine Schleife Packen ?

    Vielleicht läuft es dann besser ?

    mfg

  • hä...
    Habs in ne schleife eingebaut und nichts geht mehr, nachdem das Form submittet wurde.
    Weder msgbox noch schleife oder sonstiges....
    hmmm bug?

    Dieser Beitrag wurde 9521 mal editiert, zum letzten Mal von Blubkuh: Morgen, 02:28.

    [autoit]

    If Not $Elephant Then $Irelephant = True

    [/autoit]
  • Ne kein Bug !

    gtaspider hat es mir gesagt in der Shoutbox.

    Man sollte das ,0 nicht vergessen.

    Es darf nicht _IEFormSubmit ($oForm) heisen es muss _IEFormSubmit ($oForm,0) sein.

    thx für deine Bemühungen.

    mfg