2016-06-22 9 views
0

Ich versuche, eine Website in einer WPF-Anwendung mit WebBrowser-Steuerelement zu automatisieren.C# WebBrowser Steuerelement window.name

Die Website sucht auf jeder Seite nach dem Javascript window.name und gibt einen Fehler aus, wenn dieser nicht mit dem voreingestellten Wert übereinstimmt.

Schauen Sie sich das folgende Beispiel an.

Gibt es eine Möglichkeit, diesen Wert zu erhalten und beim Erstellen eines neuen WebBrowser-Objekts festzulegen?

Antwort

0

Ich versuchte folgendes und mein Problem ist gelöst. Hoffe, das kann jemandem helfen.

Ich navigierte zuerst die Seite auf eine leere Seite mit diesem Code.

var html = string.Format(
      "<html><body><h4>Opening ...</h4><script type='text/javascript'>window.open('about:blank', '{0}');</script></body></html>", 
      popupWindowName); 

     var w = new Browser(); 
     w.NavigateToString(html); 

Und dann in der Seite ist Laden abgeschlossen Ereignis, navigierte ich zu der ursprünglichen URL.

Der Popup-Fenster-Name wurde geändert, was ich wollte und die Sitzung korrekt fortgesetzt. Dies ist keine Lösung für das Problem, dem ich gegenübergestanden bin, aber es ist mehr wie eine Arbeit.

Ich musste mich auch mit den Popups beschäftigen, die immer wieder kamen. Ich hatte das NewWindow2-Ereignis behandelt, um mit den Popups umzugehen.