窗口切换介绍二种方法
1.打开多个窗口,切换到最新打开窗口,再次切换初始窗口
#获取当前所有句柄
windows =driver.window_handles
#获得当前最新窗口
driver.switch_to.window(handles[-1])
具体使用参加下面例子:
from selenium import webdriver
driver = webdriver.Firefox()
#打开第一个窗口——hao123
driver.get("https://www.hao123.com")
#打开第二个窗口
driver.find_element_by_xpath("//a[@class='g-gc title']").click()
#获取当前所有句柄
handles = driver.window_handles
#切换当前最新窗口
driver.switch_to.window(handles[-1])
#打开第三个页面——新浪新闻
driver.find_element_by_xpath("//a[@href='http://news.sina.com.cn/']")
#切换到当前页面
handles = driver.window_handles
driver.switch_to.window(handles[-1])
#切换到首个打开页面
driver.switch_to.window(handles[0])
driver.quit()
2.打开两个窗口,定位到新窗口
#获得打开的第一个句柄
window_1 = driver.current_window_handle
#获得打开的所有句柄
windows = driver.window_handles
#切换到最新的窗口
for current_window in windows:
if current_window != window_1:
driver.switch_to.window(current_window)
具体使用如下:
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
#打开第一个窗口
driver.get("https://www.hao123.com")
#获取打开窗口句柄
first_window = driver.current_window_handle
#打开第二个窗口
driver.find_element_by_path("//a[@class='g-gc title']").click()
#获取当前所有句柄
windows = driver.window_handles
#切换到当前打开的最新句柄
for current_window in windows:
if current_window != first_window:
driver.switch_to.window(current_window)
sleep(3)
driver.quit()