UI自动化

UI自动化(八)iframe和window切换

2021-01-15  本文已影响0人  社会主义顶梁鹿

一、iframe切换

以下介绍两种iframe切换方法

1、switch_to.frame()

frame函数中提供了三种定位方法:index、name、webelement。举例说明:

driver.switch_to.frame(‘frame_name’)

driver.switch_to.frame(1)

driver.switch_to.frame(driver.find_elements_by_tag_name(“iframe”)[0])

2、expected_conditions中frame_to_be_available_and_switch_to_it

结合显性等待方法,等待iframe框出现后自动切换iframe,其方法内部调用了 switch_to.frame 方法,所以定位iframe的方法与方法一相同。

需要引用 :

from selenium.webdriver.support.wait import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

举例说明:

WebDriverWait(driver,10).until(EC.frame_to_be_available_and_switch_to_it("login_frame_qq"))

二、window切换

1、switch_to.window

举例说明:

windows = driver.window_handles    # 获取所有窗口

print('切换之前的窗口{}'.format(windows))

driver.switch_to.window(driver.window_handles[-1])    # 切换到新窗口

print('切换至后的窗口{}'.format(driver.current_window_handle))

2、expected_conditions中new_window_is_opened

结合显性等待方法,等待新窗口打开,再进行切换

需要引用 :

from selenium.webdriver.support.wait import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

举例说明:

windows = driver.window_handles # 获取所有窗口

print('切换之前的窗口{}'.format(windows))

WebDriverWait(driver,10).until(EC.new_window_is_opened(windows))   # 判断新窗口打开

driver.switch_to.window(switch.window_handles[-1])  # 切换到新窗口

print('切换至后的窗口{}'.format(driver.current_window_handle))

上一篇 下一篇

猜你喜欢

热点阅读