第一种方法:
使用场景:
打开多个窗口,需要定位到新打开的窗口
使用方法:
# 获取打开的多个窗口句柄windows = driver.window_handles# 切换到当前最新打开的窗口driver.switch_to.window(windows[-1])
举例说明:
# _._ coding:utf-8 _._""":author: 花花测试:time: 2017.05.03:content: 使用第一种方法切换浏览器"""from selenium import webdriverimport time# 打开课工场网站主页【第一个窗口】driver = webdriver.Chrome()driver.get('http://www.kgc.cn/')driver.maximize_window()# 点击全部课程,进入课程库【第二个窗口】driver.find_element_by_link_text('全部课程').click()time.sleep(3)# 使用第一种方法切换浏览器【切换到第二个窗口】windows = driver.window_handlesdriver.switch_to.window(windows[-1])time.sleep(3)# 点击课程库中的某个课程,进入课程详情界面【在第二个窗口页面进行元素点击操作,来判断窗口是否切换成功】driver.find_element_by_xpath('//*[@id="yw1"]/ul/li[2]').click()time.sleep(3)# 关闭浏览器driver.quit()print('测试通过')
第二种方法:
使用场景:
打开两个窗口,需要定位到新打开的窗口
使用方法:
# 获得打开的第一个窗口句柄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)
举例说明:
# _._ coding:utf-8 _._""":author: 花花测试:time: 2017.05.03:content: 使用第二种方法切换浏览器"""from selenium import webdriverimport timefrom selenium import webdriverimport time# 打开课工场网站主页【第一个窗口】driver = webdriver.Chrome()driver.get('http://www.kgc.cn/')driver.maximize_window()# 点击全部课程,进入课程库【第二个窗口】driver.find_element_by_link_text('全部课程').click()time.sleep(3)# 使用第二种方法切换浏览器【切换到第二个窗口】window_1 = driver.current_window_handlewindows = driver.window_handlesfor current_window in windows: if current_window != window_1: driver.switch_to.window(current_window)time.sleep(3)# 点击课程库中的某个课程,进入课程详情界面【在第二个窗口页面进行元素点击操作,来判断窗口是否切换成功】driver.find_element_by_xpath('//*[@id="yw1"]/ul/li[2]').click()time.sleep(3)# 关闭浏览器driver.quit()print('测试通过')
两种方法的区别:
1、第一种方法比较简单,能提升整体代码的性能
2、第二种方法是大家最常用的方法,比较容易理解
以上这篇python3 selenium 切换窗口的几种方法小结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林站长站。
新闻热点
疑难解答