selenium自动化之多窗口切换

Posted sunshine-blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于selenium自动化之多窗口切换的主要内容,如果未能解决你的问题,请参考以下文章

selenium中三大窗口切换

《selenium2 python 自动化测试实战》——切换窗口

Python3-Selenium自动化测试框架之窗口切换等待

selenium切换窗口后定位元素出现问题的解决方案

selenium webdriver窗口切换

Selenium 2自动化测试实战16(多窗口切换)