有时在浏览器打开多个标签后切换标签,可能需要知道想要的标签在所有句柄中的位置,那句柄的排序方式是怎样的呢?
打开多个标签后,获取所有标签的句柄:
all_windows = driver.window_handles
print(all_windows)
打印后,会得到这么一个列表,3个值,代表打开了3个标签:
['CDwindow-B906793CB83671338512F6B5A263E907', 'CDwindow-D0AB91C6EA0436001CB218907277D8A7', 'CDwindow-A7D35A412420EE3A123367CBB85109BC']
经过多次测试后,发现是按照标签打开时间排序的,先打开的在前,并不是按照在浏览器看到的先后顺序排序的。
这样,如果想切换标签,可以按照标签句柄的位置来切换:
driver.switch_to.window(all_windows[2])