在用selenium做自動化時,經常想要在多個窗口之間切換,首先要知道每一個窗口的唯一標識符(也就是“句柄”),然后通過句柄來進行不同窗口之間的切換。
-
打開一個新窗口
1 from selenium import webdriver 2 from time import sleep 3 4 driver = webdriver.Chrome() 5 driver.get("https://www.baidu.com/") 6 sleep(2) 7 driver.execute_script('window.open("http://fanyi.youdao.com/")') #打開一個新窗口 8 sleep(2) 9 driver.quit() #關閉相關瀏覽器
-
獲取句柄並進行窗口切換
1 from selenium import webdriver 2 from time import sleep 3 4 driver = webdriver.Chrome() 5 driver.get("https://www.baidu.com/") 6 index1 = driver.current_window_handle #當前窗口句柄,即baidu頁面的句柄 7 sleep(2) 8 driver.execute_script('window.open("http://fanyi.youdao.com/")') 9 sleep(2) 10 driver.switch_to.window(index1) # 切換回第一個窗口 11 print('第一個窗口:', driver.title) 12 sleep(2) 13 driver.window_handles #所有句柄 14 driver.switch_to.window(driver.window_handles[1]) # 切換回第二個窗口 15 print('第二個窗口:', driver.title) 16 sleep(2) 17 driver.quit()
參考鏈接:https://www.jianshu.com/p/60cf21e0ae55
