窗口切换

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()

 

posted @ 2022-01-06 09:32  2orange  阅读(61)  评论(0)    收藏  举报