Selenium + java中探讨获取窗口句柄
我们在使用java + selenium做UI自动化的时候,会遇到窗口的切换操作,直接上代码:
【疑问】:
对于我们来说,set一般都是无序,那么在set数组转化为list数组的时候,是否因为set在存储的时候已经根据哈希算法排过顺序了,而导致得到的list并不是我们想要的值
或者说不转化为list,set却不可以提出出来值(py中返回的是一个列表,不存在这样的问题)
【解答】
我们翻开selenium的源码,翻到RemoteWebdriver.class的时候,看到了 getWindowHandles的方法实现
看到是返回的一个LinkedHashSet,问题至此解决(LinkedHashSet是有序的,可以看到下面例子中,输出的顺序和我们添加进去的顺序是一致的)