zoukankan      html  css  js  c++  java
  • (selenium+python)_UI自动化04_定位iframe框架内元素

    什么是iframe?

    iframe是HTML标签,作用是文档中的文档(即在当前 HTML 文档中嵌入另一个HTML文档),或者浮动的框架(FRAME)。iframe元素会创建包含另外一个文档的内联框架(即行内框架)。

    iframe框架内元素定位

    selenium中定位iframe内元素,需先切换到iframe框架内,然后再进行元素定位,否则会报错找不到元素。

    一、iframe常用切换

    driver.switch_to_frame(iframe_element)  # 切换至iframe
    driver.switch_to.default_content()  # 切回主页面
    driver.switch_to_parent_frame()  # 切回上级iframe

    二、iframe常见场景

    1,仅一个iframe框架

        切换至iframe-->定位iframe内元素-->切回首页-->定位目标元素

    2,存在多个iframe框架

        切换至iframe1-->定位iframe1内元素-->切回首页-->切换至iframe2-->定位iframe2内元素-->切回首页-->定位目标元素

    3,iframe框架内嵌另一iframe框架

        切换至iframe1-->切换至iframe2-->定位iframe2内元素-->切回首页-->定位目标元素

    三、实例

     网易邮箱登录,账号密码输入框元素在iframe内,故模拟网易邮箱登录如下:

     1 # 模拟网易邮箱登录
     2 from selenium import webdriver
     3 from time import sleep
     4  
     5 driver = webdriver.Chrome()
     6 driver.get("https://email.163.com/")  # 进入网易邮箱首页
     7 sleep(3)
     8  
     9 iframe_ele = driver.find_element_by_tag_name("iframe")  # 获取ifarme元素
    10 driver.switch_to.frame(iframe_ele)  # 切换到iframe框架
    11 driver.find_element_by_name("email").send_keys("AutoTest")  # 输入邮箱
    12 driver.find_element_by_name("password").send_keys("123456")  # 输入密码
    13 driver.find_element_by_id("dologin").click()  # 点击登录
  • 相关阅读:
    冒泡排序(C语言)解析
    URL的重写
    探索sscli, 开启CLR 的大门——配置环境详解(转)
    反射概述
    C#项目打包,并自动安装SQL数据库
    HttpRequest.ServerVariables[""]中的参数集
    如何动态设置全局theme,及在web.config中读取pages节点的内容。
    ASP.NET2.0发送电子邮件
    MD5加密的绵集
    ASP.NET中动态生成Xml格式文档,并转换为HTML文件
  • 原文地址:https://www.cnblogs.com/mini-monkey/p/12074947.html
Copyright © 2011-2022 走看看