在浏览器操作中,通常会需要打开多个浏览器界面,如果不使用switch_to.window,程序会每次还去程序打开的最初始的那个界面寻找元素,这样就导致新界面中的元素找不到。
这个时候,就需要通过switch_to.window(windowhandles)方法来对浏览器页面进行切换,其中参数windowhandles为网页的窗口句柄。
switch_to.window()方法的使用:
1 handles = driver.window_handles #获取当前浏览器的所有窗口句柄
2 driver.switch_to.window(handles[-1]) #切换到最新打开的窗口
3 driver.switch_to.window(handles[-2]) #切换到倒数第二个打开的窗口
4 driver.switch_to.window(handles[0]) #切换到最开始打开的窗口
如何获取当前网页句柄?
driver.current_window_handle
切换window需要注意:如果前一个页面操作还没完成便切换window,会导致前一页面未完成的操作操作失败,进而程序抛错。
该文转载至:https://www.cnblogs.com/cosh/p/12768535.html