针对多窗口切换操作,定位方式
import time
from selenium import webdriver
driver=webdriver.Chrome()
driver.implicitly_wait(10)
driver.get("http://www.baidu.com")
sreach_window=driver.current_window_handle # 获取当前窗口
driver.find_element_by_link_text('登录').click()
driver.find_element_by_link_text('立即注册').click()
all_window=driver.window_handles
for handle in all_window:
if handle != sreach_window:
driver.switch_to.window(handle)
print('打开注册窗口')
driver.find_element_by_id("login_btn").click()
time.sleep(2)
for handle in all_window:
if handle==sreach_window:
driver.switch_to.window(handle)
print('回到查询窗口')
driver.find_element_by_id('TANGRAM__PSP_4__closeBtn').click() # 返回查询窗口,关闭弹出小窗口
driver.find_element_by_id("kw").send_keys("selenium")
driver.find_element_by_id("su").click()
time.sleep(2)
driver.quit()
在窗口切换功能中,我们需要掌握几个方法
current_window_handle 获取当前窗口句柄
window_handles 返回所有窗口
switch_to.window 不同间的窗口切换