Selenium中Switch_to操作
Switch_to.windows
通常会需要打开多个浏览器界面,如果不使用switch_to.window,程序会每次还去程序打开的最初始的那个界面寻找元素,这样就导致新界面中的元素找不到。
handles = driver.window_handles #获取当前浏览器的所有窗口句柄
driver.switch_to.window(handles[-1]) #切换到最新打开的窗口
driver.switch_to.window(handles[-2]) #切换到倒数第二个打开的窗口
driver.switch_to.window(handles[0]) #切换到最开始打开的窗口
Switch_to.frame
frame标签有frameset、frame、iframe三种,frameset跟其他普通标签没有区别,不会影响到正常的定位,而frame与iframe对selenium定位而言是一样的,selenium有一组方法对frame进行操作。
可以用switch_to.frame(reference),reference是传入的参数,用来定位frame,可以传入id、name、index以及selenium的WebElement对象.
driver.switch_to.parent_frame() #切换到父文档
driver.switch_to.default_content() #切换到默认文档