Selenium + java中探讨获取窗口句柄

我们在使用java + selenium做UI自动化的时候,会遇到窗口的切换操作,直接上代码:

【疑问】:

  对于我们来说,set一般都是无序,那么在set数组转化为list数组的时候,是否因为set在存储的时候已经根据哈希算法排过顺序了,而导致得到的list并不是我们想要的值

  或者说不转化为list,set却不可以提出出来值(py中返回的是一个列表,不存在这样的问题)

【解答】

  我们翻开selenium的源码,翻到RemoteWebdriver.class的时候,看到了 getWindowHandles的方法实现

  

  看到是返回的一个LinkedHashSet,问题至此解决(LinkedHashSet是有序的,可以看到下面例子中,输出的顺序和我们添加进去的顺序是一致的)

  

原文地址:https://www.cnblogs.com/tester-lyj/p/13491656.html