要想在多个窗口之间切换,首先要获得每一个窗口的唯一标识符号(句柄)。通过获得的句柄来区别分不同的窗口,从而对不同窗口上的元素进行操作。
1 打开一个新窗口
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
sleep(2)
driver.execute_script('window.open("https://www.qq.com")')
sleep(2)
driver.quit()
2 获取句柄
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
sleep(2)
print(driver.current_window_handle) # 当前句柄
driver.execute_script('window.open("https://www.qq.com")')
sleep(2)
print(driver.window_handles) # 所有句柄
driver.quit()
3 切换窗口
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
index1 = driver.current_window_handle
sleep(2)
driver.execute_script('window.open("https://www.qq.com")')
sleep(2)
driver.switch_to.window(index1) # 切换回第一个窗口
print('第一个窗口:', driver.title)
sleep(2)
driver.switch_to.window(driver.window_handles[1]) # 切换回第二个窗口
print('第二个窗口:', driver.title)
sleep(2)
driver.quit()
网友评论