import time
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
driver.implicitly_wait(30)
driver.find_element(By.ID, 'kw').send_keys('12306') # 百度搜索框输入12306
driver.find_element(By.ID, 'su').click() # 点击百度一下
w = driver.current_window_handle # 获取当前窗口的句柄
driver.find_element(By.XPATH, "//h3[@class='t c-gap-bottom-small']//em[text()='12306']").click() # 点击12306
ws = driver.window_handles # 获取所有窗口的句柄,列表格式
print(w)
print(ws)
print(driver.current_window_handle) # 可以发现,打开12306新窗口后,窗口的句柄依旧是之前的窗口句柄
# 切换窗口的方法(通过窗口句柄)
driver.switch_to.window(ws[-1]) # ws是个列表,列表取值取到所要切换窗口的句柄,然后切换
print(driver.current_window_handle) # 窗口句柄变为12306窗口句柄
driver.find_element(by=By.XPATH, value="//a[@id='my12306']").click() # 定位12306窗口中的元素并点击
time.sleep(5)
driver.quit()