有时候我们点击按钮后页面会跳转到新的窗口,我们需要到新的窗口中去进行接下来的操作,这时候就需要切换窗口的操作,我们根据句柄(handle)来操作窗口之间的切换,看代码:
# coding: utf-8
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
driver.get("http://www.jrj.com.cn/")
driver.find_element_by_xpath("html/body/div[11]/div[1]/div/div[1]/p/a[5]").click()
current_handle = driver.current_window_handle
all_handles = driver.window_handles
for i in all_handles:
if current_handle != i: driver.switch_to.window(i)
sleep(2)
driver.find_element_by_xpath("html/body/div[10]/div[1]/div/dl/dt[1]/div[1]/p/a[2]").click()
句柄的操作主要有两个:
- 第一个:获取当前窗口句柄:
driver.current_window_handle
- 第二个:获取全部窗口句柄:
driver.window_handles
- 切换句柄的操作为:
这里我们通过循环所有句柄,当判断到不是当前窗口句柄的时候,就进行切换句柄(窗口)的操作。driver.switch_to.window()
微信公众号搜索“自动化测试实战”或扫描下方二维码添加关注~~~