美文网首页UI自动化
UI自动化(八)iframe和window切换

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

作者: 社会主义顶梁鹿 | 来源:发表于2021-01-15 08:51 被阅读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))

    相关文章

      网友评论

        本文标题:UI自动化(八)iframe和window切换

        本文链接:https://www.haomeiwen.com/subject/ohovaktx.html