python3自动化实践19之窗口切换

时间:2021-05-09 08:47:38

窗口切换介绍二种方法

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