selenium常用的API(六)浏览器窗口切换
当使用selenium webdriver进行自动化测试打开多个窗口的时候,可能需要在不同的窗口间进行切换,webdriver提供的获取浏览器窗口句柄、切换句柄的方法如下:
获取当前窗口句柄
driver.current_window_handle
获取所有窗口句柄
driver.window_handles
切换窗口
driver.switch_to.window(handle)
# encoding=utf-8 import time from selenium import webdriver driver = webdriver.Chrome(executable_path="e:\\chromedriver") driver.get("http://www.baidu.com") # 获取当前窗口句柄 cur_handle = driver.current_window_handle # 打印当前获取的窗口的title print driver.title # 百度搜索输入框中输入“w3cschool” driver.find_element_by_id("kw").send_keys("w3cschool") driver.find_element_by_id("su").click() time.sleep(3) # 点击w3school在线教育链接 driver.find_element_by_xpath('//*[@id="2"]/h3/a').click() time.sleep(3) # 获取所有窗口句柄 all_handles = driver.window_handles# 循环遍历所有打开的窗口句柄 for handle in all_handles: if handle != cur_handle: # 切换窗口 driver.switch_to.window(handle) # 打印当前窗口title print driver.title# 返回主窗口 driver.switch_to.window(cur_handle) time.sleep(2) driver.quit()