selenium多窗口切换
以百度注册窗口切换为例:
# coding=utf-8 from selenium import webdriver from time import sleep dr = webdriver.Firefox() dr.get("http://www.baidu.com") #获取当前窗口 firsthandle = dr.current_window_handle dr.find_element_by_link_text(u'登录').click() sleep(3) dr.find_element_by_link_text(u'立即注册').click() sleep(3) #获取所有窗口,不能直接获取新打开的窗口 allhandles = dr.window_handles #对所有窗口进行一个筛选 for handle in allhandles: if handle != firsthandle: dr.switch_to_window(handle) print 'swtich to newhandle' dr.find_element_by_name('userName').send_keys('134445533') sleep(2) #返回第一个窗口 dr.switch_to_window(firsthandle) print 'back to firsthandle' dr.find_element_by_id('kw').send_keys("selenium") sleep(2) #返回第二个窗口 dr.switch_to_window(handle) print 'back to secondhandle'