selenium.句柄、多窗口操作(handle)
多窗口操作主要有以下关键方法:
webdriver.current_windouw_handle:获取当前页面的句柄
webdriver.windows_handles:获取所有句柄
switch_to.window():切换句柄
在前程无忧做个练习,效果入GIF:
from selenium import webdriver from time import sleep # 第一步:获取当前页面的句柄 driver = webdriver.Chrome() url = "https://www.51job.com/" driver.get(url) now_windows = driver.current_window_handle print(now_windows) sleep(2) # 第二步:打开另一个窗口,获取所有句柄 driver.find_element_by_link_text("招聘信息").click() all_windows = driver.window_handles sleep(2) # 第三步:来回切换窗口并输入文本 print(all_windows) driver.switch_to.window(all_windows[1]) driver.find_element_by_xpath('//*[@id="kwdselectid"]').send_keys("软件测试") sleep(1) driver.switch_to.window(all_windows[0]) driver.find_element_by_id("kwdselectid").send_keys("自动化测试") sleep(2) driver.quit()