python3 selenium 切换窗口的几种方法小结

2018-10-15 17:13

阅读:429

第一种方法:

使用场景:

打开多个窗口,需要定位到新打开的窗口

使用方法:

# 获取打开的多个窗口句柄 windows = driver.window_handles # 切换到当前最新打开的窗口 driver.switch_to.window(windows[-1])

举例说明:

# _._ coding:utf-8 _._ :author: 花花测试 :time: 2017.05.03 :content: 使用第一种方法切换浏览器 from selenium import webdriver import time # 打开课工场网站主页【第一个窗口】 driver = webdriver.Chrome() driver.get(点击全部课程,进入课程库【第二个窗口】 driver.find_element_by_link_text(全部课程).click() time.sleep(3) # 使用第一种方法切换浏览器【切换到第二个窗口】 windows = driver.window_handles driver.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 webdriver import time from selenium import webdriver import time # 打开课工场网站主页【第一个窗口】 driver = webdriver.Chrome() driver.get(点击全部课程,进入课程库【第二个窗口】 driver.find_element_by_link_text(全部课程).click() time.sleep(3) # 使用第二种方法切换浏览器【切换到第二个窗口】 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) time.sleep(3) # 点击课程库中的某个课程,进入课程详情界面【在第二个窗口页面进行元素点击操作,来判断窗口是否切换成功】 driver.find_element_by_xpath(//*[@id=yw1]/ul/li[2]).click() time.sleep(3) # 关闭浏览器 driver.quit() print(测试通过)

两种方法的区别:

1、第一种方法比较简单,能提升整体代码的性能

2、第二种方法是大家最常用的方法,比较容易理解

以上这篇python3 selenium 切换窗口的几种方法小结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。


评论


亲,登录后才可以留言!