1、认识多窗口
- 有的页面的链接打开后,会重新打开浏览器的一个标签,若是想在新的窗口上操作,就要先切换窗口
- 获取窗口的唯一标识就是句柄,只要切换到对应的宽口句柄上就能操作了
- 实际场景,如赶集网,点击工作时候会多出一个窗口
2、句柄操作
- 元素有属性的,窗口也是有属性,只是看不到而已,浏览器的属性使用handle来识别
- 获取当前窗口的句柄:driver.current_window_handle
- 获取所有窗口句柄:window_hadnle
- 切换窗口:driver.switch_to.window()
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://sh.ganji.com/")
driver.implicitly_wait(5)
handle1 = driver.current_window_handle
print("当前窗口句柄"+handle1)
print(driver.title)
driver.find_element_by_xpath('//a[@href="zhaopin/"]/span[1]').click()
#获取到的所有句柄是个列表,通过列表元素下标进行切换
handles = driver.window_handles
print("所有窗口句柄"+handles)
#切换窗口
driver.switch_to.window(handles[1])
current_handle = driver.current_window_handle
print("当前窗口句柄"+current_handle)
print(driver.title)
#关闭当前窗口
driver.close()
time.sleep(2)
#结束浏览器的进程
driver.quit()