Selenium(十六)---多窗口切换
有时候我们再操作时点击了某个连接跳转到了另外一个连接,这时候我们就要把操作对象转换到新的窗口
webdriver提供了switch_to.window()方法可以实现不同窗口的切换
* switch_to.window() 切换窗口
* current_window_handle 获得当前窗口的句柄
* window_handles:返回所有窗口的句柄到当前会话
代码演示:
from selenium import webdriver import time driver = webdriver.Chrome() driver.get("http://www.baidu.com") # 获得当前的窗口句柄 current_handle = driver.current_window_handle driver.find_element_by_link_text('登录').click() driver.find_element_by_link_text("立即注册").click() # 获得当前所有窗口的句柄 all_handles = driver.window_handles # 进入注册窗口 for handle in all_handles: driver.switch_to.window(handle) if driver.title == '注册百度帐号': print(driver.title)#查看当前窗口标题 driver.find_element_by_name("userName").send_keys('12345') driver.find_element_by_name('phone').send_keys('13878910') time.sleep(2) # 关闭当前窗口 driver.close() # 回到搜索窗口 driver.switch_to.window(current_handle) # 打印当前窗口 print(driver.title) driver.quit()