多窗口切换

'''
    在页面操作过程中,有时单击某个连接会弹出新的窗口,这时就要切换到新打开的窗口进行操作。
    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
'''

posted @ 2020-02-15 21:44  gupanpan  阅读(130)  评论(0)    收藏  举报