# （十五）切换窗口(标签)




### 切换窗口

有时候我们点击链接会弹出新窗口，我们需要去新窗口继续定位和操作元素，这时候就需要用到切换窗口的操作了。

switchTo().window(name_or_handle)方法可以切换到目标窗口。

一般来说，不建议大家直接使用上面的方法去切换，更明智的做法是获取要打开的窗口的链接，然后直接用get访问该链接，这样就不需要写切换窗口的代码了。


### switchTo().window(name_or_handle)

该方法的参数有可以是

* 窗口的name，这是为了兼容以前的实现，至于窗口的name是什么，我不太清楚
* 窗口句柄，使用driver.getAllWindowHandles()句柄就可以返回浏览器中所有的打开的标签句柄了

### 目的

学会使用switchTo().window(name_or_handle)方法

### 示例代码

下面代码演示了如何遍历浏览器所有的标签，并逐一切换过去

```javascript
dr.getAllWindowHandles().then(function(handles) }{
  for (var i = 0; i < handles.length; i++) {
    dr.switchTo().window(handles[i]);
  }
});

```




原始封面

![课程图片](https://images.unsplash.com/photo-1483356256511-b48749959172?w=300)


