在做自动化测试的过程中,有时候点击链接会打开一个新窗口,那么我们该如何在多个窗口之间自由切换呢
现在我以CSDN为例写一个脚本
大家可以看到我用的 driver.window_handles来获取所有的句柄(窗口的唯一标识)
打印出来可以看到是返回一个列表,既然是列表,那我们当然可以使用下标来访问其中的元素,所以只需要driver.switch_to.window(h[1])就可以切换到新窗口了
附上代码:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.csdn.net/?spm=1001.2014.3001.4476')
driver.maximize_window()
ele = driver.find_element_by_xpath('//*[@id="floor-nav_557"]/div/div/div/ul/li[1]/a')
ele.click()
h = driver.window_handles#获取所有句柄
print (h)#返回值是列表
driver.switch_to.window(h[1])#切换到第二个窗口