窗口切换
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()