Wir arbeiten mit dem Selenium-Webtreiber für UI-Tests für Internet Explorer 11. In der Test-Webanwendung werden mehrere Bildschirme angezeigt. In einigen Tests hatten wir am Ende drei Browserfenster und damit drei Driver.WindowHandles. Um von einem WindowHandle zu einem anderen zu wechseln, erwarten wir, dass Driver.WindowHandles mit dem ältesten Fenster zuerst und dem neuesten Fenster zuletzt sortiert wird. Aber das ist nicht der Fall: Es ist völlig zufällig!
Da windowhandle eine GUID ist, erstellen wir am Ende ein Wörterbuch mit der WindowHandle-GUID als Schlüssel und dem Wert als Wert für den im Browserfenster geladenen Seitentyp. Dies führt aber auch dazu, dass das Wörterbuch beibehalten wird, wenn das Fenster geschlossen wird.
Scheint eine Menge Arbeit für so eine einfache Sache zu sein. Gibt es eine bessere Lösung?
你说得非常正确:
在一次讨论中,Simon 明确提到:
因此,我们将引发
WebDriverWait
,然后每次打开新选项卡/窗口时收集窗口句柄,最后迭代窗口句柄和switchTo().window(newly_opened)
根据需要:Java:
控制台输出:
其他
您可以在以下位置找到基于 python 的讨论在新选项卡中打开 Web Selenium + Python p>