1.alert切换
driver.switch_to.alert.accept()#确认
driver.switch_to.alert.dismiss()#取消
2.多页面切换,每次切换到新的页面后,都要执行driver.close()
driver.switch_to.window(driver.window.handles[-1])
dirver.close() #关闭当前页面
driver.switch_to.window(driver.window_handles[0])#切换回第一个页面
3.iframe切换
一层层进一层层出
如果iframe有name或id的话,直接使用switch_to.frame(“name值”)或switch_to_frame(“id值”)
如果iframe没有name或id的话,则可以通过下面的方式定位:
先定位到iframe这个标签,作为一个对象传给switch_to.frame(object)
1.Frame/Iframe原因定位不到元素:
这个是最常见的原因,首先要理解下frame的实质,frame中实际上是嵌入了另一个页面,而webdriver每次只能在一个页面识别,因此需要先定位到相应的frame,对那个页面里的元素进行定位。
退出iframe页
switch_to.default_content()#直接回到默认层
driver.switch_to.parent_frame()#切回到相对当前的上一层