多窗口切换
'''
在页面操作过程中,有时单击某个连接会弹出新的窗口,这时就要切换到新打开的窗口进行操作。
WebDriver 提供 switch_to_window() 方法可以实现不同窗口的切换
current_window_handle 获得当前窗口的句柄
window_handles 获得所有窗口的句柄
switch_to.window(handle) 切换到相应的窗口
'''
from selenium import webdriver driver = webdriver.Firefox() driver.implicitly_wait(10) driver.get("http://www.baidu.com") searchWindow = driver.current_window_handle driver.find_element_by_link_text("登录").click() driver.find_element_by_link_text("立即注册").click() allHandles = driver.window_handles for handle in allHandles: if handle != searchWindow: driver.switch_to.window(handle) print(driver.title) driver.close() driver.switch_to.window(searchWindow) print(driver.title) driver.quit()
'''
脚本执行的过程中,首先打开百度首页,通过 current_window_handle 获得当前窗口的句柄,
并赋值给 searchWindow , 接着打开登录 单击注册连接 从而打开新窗口。
通过 window_handle 获得当前所有窗口的句柄,
接着遍历 所有 all_handles
'''
浙公网安备 33010602011771号