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()

 

posted @ 2018-07-23 20:44  关关雎鸠`  阅读(976)  评论(0编辑  收藏  举报