在瀏覽器操作中,通常會需要打開多個瀏覽器界面,如果不使用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,會導致前一頁面未完成的操作操作失敗,進而程序拋錯。