一:多窗口处理
1.针对多窗口切换处理
1)点击某些链接,会重新打开一个窗口,对于这种情况,想在新页面上操作,就得先切换窗口了。
2)获取窗口的唯一标识用句柄表示,所以只需要切换句柄,就可以在多个页面灵活操作了。
2,多窗口处理流程
1)先获取到当前的窗口句柄(self.driver.current_window_handle)
2)再获取到所有窗口句柄(self.driver.window_handles)
3)判断是否是想要操作的窗口,如果是,就可以对窗口进行操作,如果不是,跳转到另外一个窗口,对另外一个窗口进行操作(self.driver.switch_to.window(windows[-1]))
多窗口切换案例
二,多frame切换
frame存在两种:一种是嵌套的,一种是未嵌套的
1,切换frame:
1),driver.switch_to.frame() 根据元素id或者index切换frame
2),driver.switch_to.default_content() 切换到默认frame
3),driver.switch_to.parent_frame() 切换到父级frame
2,处理未嵌套的frame
1) driver.switch_to_frame("frame的id")
2) driver.switch_to_frame("frame的index") frame无id的时候用索引来处理,索引从0开始,driver.switch_to_frame(0);
3,处理嵌套的frame
1) driver.switch_to.frame("父节点")
2) driver.switch_to.frame("子节点")