我們在使用java + selenium做UI自動化的時候,會遇到窗口的切換操作,直接上代碼:
【疑問】:
對於我們來說,set一般都是無序,那么在set數組轉化為list數組的時候,是否因為set在存儲的時候已經根據哈希算法排過順序了,而導致得到的list並不是我們想要的值
或者說不轉化為list,set卻不可以提出出來值(py中返回的是一個列表,不存在這樣的問題)
【解答】
我們翻開selenium的源碼,翻到RemoteWebdriver.class的時候,看到了 getWindowHandles的方法實現
看到是返回的一個LinkedHashSet,問題至此解決(LinkedHashSet是有序的,可以看到下面例子中,輸出的順序和我們添加進去的順序是一致的)