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

第一种方法:

使用场景:

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

使用方法:

# 获取打开的多个窗口句柄

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('http://www.kgc.cn/')

driver.maximize_window()

# 点击全部课程,进入课程库【第二个窗口】

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('http://www.kgc.cn/')

driver.maximize_window()

# 点击全部课程,进入课程库【第二个窗口】

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 切换窗口的几种方法小结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

以上是 python3 selenium 切换窗口的几种方法小结 的全部内容, 来源链接: utcz.com/z/346477.html

回到顶部