selenium自动化之多窗口切换

在用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

原文地址:https://www.cnblogs.com/sunshine-blog/p/12886533.html