FFStart / FFOpenURL + festhängen abfangen

  • Hey Leute, es kommt öfters mal vor,
    dass FF Fenster beim laden hängen bleiben,
    das problem ist, das ich eine funktion mit
    einem versteckten gui + hidden firefox fenster
    habe... habe mich schon durch ein paar topics
    gewühlt, und es hieß mit FFloadwait könnte
    man das abfangen, mir fällt nur kein weg ein
    wie das gehen soll, hat wer ne idee?

    EDIT: außerdem wollte ich noch fragen
    obs ne möglichkeit gibt, die ff fenster auch
    hidden zu starten, weil wenn man FFStart
    mit hidden "true" benutzt, dann startet der ff
    ja sichtbar und wird erst dann nach 1-2 sekunden
    versteckt gibts da ne möglichkeit?

    gruß

    nova

    Einmal editiert, zuletzt von OneNonlyNova (28. April 2009 um 10:53)

  • Hallo,

    was meinst du mit "beim Laden hängenbleibt"?
    - Wird die Seite nicht geladen?
    - Kommt eine Fehlerseite?
    - Oder wie z.B. hier auf AutoIt.de manchmal eine minutenlange Ladeanzeige, obwohl die Seite anscheinend schon fertig ist?
    - ....?

    Das mit versteckt starten klappt leider nicht, denn wenn ich mit FF hidden starte (@SW__HIDE) wird er wieder sichtbar sobald man eine Funktion anwendet um z.B einen neue Seite zu öffnen.

    Ich werde mal versuchen statt mit WinSetState (was recht lahm sein soll) direkt mit der Win-API zu arbeiten, dann ist das Fenster evtl. nicht ganz so lange sichtbar.

    Grüße
    Stilgar

  • Hey stilgar super schnelle antwort ^^
    ich meine:

    - Oder wie z.B. hier auf AutoIt.de manchmal eine minutenlange Ladeanzeige, obwohl die Seite anscheinend schon fertig ist? <<--

    denke das müsste mit ffloadwait und timeout irgendwie zu machen sein, aber mir fällt nix ein :(


    ----

    außerdem ergibt sich für mich gerade noch eine zweite frage, ich schreibe im moment
    eine gui oberfläche für ein administrations tool bei uns im intranet, funzt auch alles super,
    jedoch muss ich mich momentan bei jedem aufruf neu einloggen, da die sessionid nach einer
    gewissen zeit abläuft... gibts ne möglichkeit abzufragen, ob bei FFStart die fehlerseite wegen
    der sessionid geöffnet wird oder es ganz normal geklappt hat?

    gruß

    nova


    ----

    weiteres schwerwiegendes problem, gibt es ne möglichkeit die memory size von firefox kleiner zu halten?
    bei laufen des programms länger als 3-4 stunden, und ständigem ffstart und close ist bei mir die firefox.exe
    inzwischen bei 600mb... und langsam hängt der ziemlich krass bei laden... gibts da n workaround?

    ----

    wo wir gerade dabei sind, im ff topic wird immer vom starten mit anderem profil geredet, was soll das bringen?
    bzw was bezweckt man damit?

    gruß

    nova

    Einmal editiert, zuletzt von OneNonlyNova (28. April 2009 um 09:59)

  • 1) Das wird mit _FFLoadWait schwierig. Wenn der TimeOut abläuft ist ja nicht festzustellen ob nun noch was geladen werden muß.

    Du kannst natürlich einen relativen kurzen TimeOut einstellen und dann prüfen ob bestimmte Teile der Seite vorhanden sind (_FFSearch, _FFXPath ..).

    2) Ob die Fehlerseite geladen ist, kannst du nach _FFStart entweder anhand der URL feststellen oder ob die Fehlermeldung in der Seite auftaucht (_FFSearch, _FFXPath ..).

    Grüße
    Stilgar

  • mh okay dann werd ich mir ne funktion bauen müssen die explizit nach den sachen sucht im html, danke erstmal

    hatte oben noch was ergänzt:

    ----

    weiteres schwerwiegendes problem, gibt es ne möglichkeit die memory size von firefox kleiner zu halten?
    bei laufen des programms länger als 3-4 stunden, und ständigem ffstart und close ist bei mir die firefox.exe
    inzwischen bei 600mb... und langsam hängt der ziemlich krass bei laden... gibts da n workaround?

    ----

    wo wir gerade dabei sind, im ff topic wird immer vom starten mit anderem profil geredet, was soll das bringen?
    bzw was bezweckt man damit?

    gruß

    nova

  • Du brauchst doch keine extra Funktion bauen, nimm einfach _FFSearch oder _FFXpath.

    Das heist du machst nie einen neuen Prozess auf sondern benutzt _FFStart für einen neues Fenster?
    Wie oft machst du das? Warum läßt du keines offen?

    Jedes Profil hat z.B. seinen eigenen Einstellungen, AddOns usw. deshalb die Möglichkeit mit anderen Profilen zu starten.

  • naja das problem ist das ich mir jetz ne funktion die
    _FFXpath mit ner variable füttert bauen muss, sonst
    müsste ich ja an jeder scriptstelle n anderes einbauen^^

    ----

    ne ich benutze schon _FFStart mit option 1 für neuen prozess,
    aber der ff der schon läuft, also den man normal zum surfen nutzt
    steigt trotzdem drastisch im memory verbrauch

    gruß

    nova

  • naja das problem ist das ich mir jetz ne funktion die
    _FFXpath mit ner variable füttert bauen muss, sonst
    müsste ich ja an jeder scriptstelle n anderes einbauen^^

    Kannst du im normalen Funktionsaufruf keine Variablen verwenden ?(


    ne ich benutze schon _FFStart mit option 1 für neuen prozess,
    aber der ff der schon läuft, also den man normal zum surfen nutzt
    steigt trotzdem drastisch im memory verbrauch

    Ja ist trozdem nur ein neues Fenster (schau mal in den Taskmanager, du wirst auch bei hundert Fenstern nur eine firefox.exe finden). Die Bezeichnug "neuer Prozess" ist etwas unglücklich gewählt.
    Was passiert wenn du einfach nur ein neues Fenster aufmachst? (_FFOpenWindow)

  • hab ich noch nicht probiert, dann müsste ich aber noch ne abfrage machen ob die firefox.exe existiert, oder seh ich das falsch?
    weil ffopenwindow öffnet ja nur zum bestehenden firefox ein neues fenster oder?

    gruß

    nova

    PS: das mit dem xpath hat sich erledigt funzt perfekt :)