Rolf B: Wie sag ich's meinem Browser?

Hallo,

ich habe den Usecase, dass ich von einer Anwendung aus eine Webseite öffnen will. Das muss in msedge geschehen (don't ask…).

Öffnet die Webseite die Anwendung, wenn sie bereits geöffnet ist, soll kein neues Tab oder neues Fenster aufgehen. Die Seite soll neu geöffnet werden.

Hosten des msedge als Webbrowser-Control in der Anwendung kommt nicht in Frage - damit könnte man was erreichen, aber es ist verboten.

Wenn ich msedge.exe url aufrufe, geht immer ein neues Tab auf. Gibt eine Möglichkeit, den Tab-Namen zu setzen, in dem eine Seite geöffnet wird? Oder kann ich - analog zu Office - eine COM-Verbinding zu Edge herstellen und eine Fernsteuerung durchführen?

Rolf

--
sumpsi - posui - obstruxi
  1. Hi,

    also die mathematische Lösung ist 42.

    (irgendwie paßt der Inhalt Deines Posts nicht zur Überschrift)

    cu,
    Andreas a/k/a MudGuard

    1. Hallo MudGuard,

      ja, sorry, hab ich schnell mal geändert. Da war was anderes gespeichert...

      Rolf

      --
      sumpsi - posui - obstruxi
  2. Moin Rolf,

    Öffnet die Webseite die Anwendung, wenn sie bereits geöffnet ist, soll kein neues Tab oder neues Fenster aufgehen. Die Seite soll neu geöffnet werden.

    Du meinst, dass die Seite in diesem Fall einen Refresh durchführen soll?

    Wenn ich msedge.exe url aufrufe, geht immer ein neues Tab auf. Gibt eine Möglichkeit, den Tab-Namen zu setzen, in dem eine Seite geöffnet wird? Oder kann ich - analog zu Office - eine COM-Verbinding zu Edge herstellen und eine Fernsteuerung durchführen?

    Vielleicht hilft dir Microsoft Edge Driver als WebDriver weiter.

    Viele Grüße
    Robert

    1. Hallo Robert,

      danke für die Rückmeldung.

      Du meinst, dass die Seite in diesem Fall einen Refresh durchführen soll?

      Eher einen Reload - sie bekommt dann andere Parameter. Da ist noch nicht ganz klar, was praktikabel ist.

      Den Edge Driver habe ich gesehen - aber da stand, das dient als Headless Testdriver für Selenium. Das hat mich davon abgehalten, das ist nicht für's Development, sondern für die Produktion. Und es ist auch nicht mein Usecase, sondern ein anderer Entwickler hat mich gefragt, ob ich Ideen hätte. Derzeit machen sie es noch mit dem IE, und der wird auf unseren Geräten in Bälde definitiv eliminiert.

      Hauptproblem ist wohl auch, dass sie es nach Abschluss eines Vorgangs nicht schaffen, das Tab im Edge zu schließen, in dem die Seite geöffnet wurde. Im IE geht es. Ich weiß noch nicht, wieso das im Edge nicht geht - und will mich auch nicht zu tief reinhängen (sonst hab ich das Thema an der Backe). Ist es Unfähigkeit oder tatsächlich etwas, das nicht mehr geht - bei mir ist window.close() in einem click-Handler erfolgreich. Vielleicht haben sie ein promisoides Gebilde drin, das den Kontext als "User Interaction" entfernt. Der Tab-Reload ist ein gedachter Workaround, falls das Auto-Schließen des Tabs nach beendeter Verarbeitung tatsächlich nicht möglich ist.

      Rolf

      --
      sumpsi - posui - obstruxi
      1. Moin Rolf,

        Den Edge Driver habe ich gesehen - aber da stand, das dient als Headless Testdriver für Selenium.

        „Headless“ wundert mich, denn der Chrome Driver (und auch der für Firefox) erlauben das Browser-Fenster wirklich zu öffnen. Da steht dann oben zwar „controlled by automated software“, aber man kann dem Browser richtig zuschauen.

        Viele Grüße
        Robert

        1. Hallo Robert,

          okay, aber meine Anwender sollen nicht zuschauen, sondern selbst aktiv sein, sobald das Tab so wie gewünscht offen ist. Und ich bezweifle auch, dass ich ein Test-Tool in der Produktionsumgebung bereitstellen darf…

          Sind die BrowserXY Driver eigenständige Komponenten? Oder Bausteine für eine Selenium-Integration?

          Rolf

          --
          sumpsi - posui - obstruxi