Ich benutze ruby und watir-webdriver für die Automatisierung einer Webanwendung, wo ich auf das Szenario stieß, in dem ein neuer Browser geöffnet wird, wenn ich auf eine Schaltfläche klicke und eine füllen muss Form auf dem neu geöffneten Fenster. Webdriver kann es nicht als ein Fenster identifizieren.Mit webdriver den Fokus auf einen neu geöffneten Browser setzen
Gibt es sowieso für die Behandlung dieses Szenarios? Wie ich weiß, können wir keine Verbindung zu einer Browser-Instanz herstellen, die nicht von webdriver gestartet wurde.
verwendete ich den folgenden Code zu überprüfen, ob das Fenster
@browser.window(:title => /#{title}/i).wait_until_present
ich auch versucht, unter Code existiert alle geöffneten Fenster zu überprüfen, aber die neue Browser-Instanz kommen würde nicht in der Liste
@browser.windows.each { |w| p w.title}
Haben Sie versucht, etwas in der Art von: 'driver.SwitchTo(). Window (driver.WindowHandles.Last());'? Dies ist möglicherweise nicht die richtige Syntax für 'Ruby', aber es sollte relativ nah sein. – Brian
Sind Sie sicher, dass es sich tatsächlich um ein Browserfenster handelt? Ist es möglich, dass nur ein Element auf der Seite wie ein Popup aussieht? Zum Beispiel sieht der [jQueryUI-Dialog] (https://jqueryui.com/dialog/) wie ein Fenster aus, ist aber nur ein Element im ursprünglichen Browserfenster (dh kein neues Fenster). –
@brian -> Ich habe ähnliche Sache in Ruby getan, aber wie gesagt, das Problem ist, es ist kein Kind-Fenster, es ist eine neue Browser-Sitzung. – yudi2312