Web页面中经常用到Frame Iframe表单嵌套页面,使用Frame重载页面时不需要重载整个页面,只需要重载页面中的一个框架页。该方式可以减少数据的传输,加快了网页的下载速度。 但是,Webdriver只能在一个页面上对元素进行识别与定位,才引出切换页面的相关操作。

切换页面的一些操作:

  • switch_to.frame(参数)                #切换到指定frame,参数为定位到的Iframe/Frame元素
  • switch_to.parent_frame()           #切换到上一层,无参数
  • switch_to.default_content()        #跳到最外层frame

示例:

from selenium import webdriver
from time import sleep
web_driver = webdriver.Firefox()
web_driver.get('https://mail.qq.com')
#依次点击QQ邮箱登录页面下的‘下次自动登录’、‘账号密码登录’、‘关于腾讯’三个元素
denglu_frame = web_driver.find_element('id','login_frame')#定位到登录页面
web_driver.switch_to_frame(denglu_frame)web_driver.find_element('id','q_low_login_enable').click()    #点击‘下次自动登录’
web_driver.find_element('id','switcher_plogin').click()       #点击‘账号密码登录’web_driver.switch_to.parent_frame()                           #切换到网页主页面web_driver.find_element_by_partial_link_text('关于腾讯').click()#点击‘关于腾讯’sleep(2)
web_driver.close()                                            #关闭当前窗口

总结:

  • 多表单中定位元素时,按层级找元素的上一级frame,需要注意Iframe和frame都是表单名;
  • 采用Xpath定位元素时,需要switch_to.default_content() 跳到最外层frame;
  • 子表单之间无法自由切换,只能先切换到父表单,再切换到目标子表单。

Python-自动化测试-多表单相关推荐

  1. html表单与python交互,HTML表单不能与python一起使用

    我创建了一个带有表单的HTML页面,它带有一个名称和密码,并将其传递给Python脚本,该脚本应该用欢迎消息打印人名.但是,在我发布值后,我只是在浏览器中显示Python代码,而不是欢迎消息.我已将h ...

  2. python获取表单数据的代码_使用flask和python从html表单获取表单数据

    我正在尝试在按下submit时从文本字段中获取表单数据,以便将其放入json格式并作为另一个页面访问json数据,该页面将是localhost:5000/info.每次我试图用request.form ...

  3. python网页提交表单_使用Python中的POST请求通过网站表单上传基本文件

    我尝试使用Python和HTTP请求在一个随机的网站上上传一个文件.为此,我使用名为Requests的便利库. 根据the documentation,以及StackOverflow here和the ...

  4. python bottle 制作表单_python bottle框架

    python bottle框架 简介: Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Python的标准库外,其不依赖任何其他模块. Bottl ...

  5. python网页提交表单_用Python的urllib库提交WEB表单

    class EntryDemo( Frame ): """Demonstrate Entrys and Event binding""" c ...

  6. python 自动填充表单,如何在Django / Python中自动填充PDF表单?

    I have PDF forms that I want to autopopulate with data from my Django web application and then offer ...

  7. python网页提交表单_Html表单——使用python在web页面上显示用户提交的数据

    这个例子展示了如何使用Python完成同样的事情--在web页面上显示提交的数据. 环境配置: win10.Anaconda3 问题: 1.在安装Anaconda3的时候出现了很多问题,经建议安装旧版 ...

  8. Python Django提交表单时报错:Forbidden (403) CSRF verification failed. Request aborted.

    报错截图: 解决方法: 把settings里面一个叫csrf的安全机制的注释掉即可. MIDDLEWARE = ['django.middleware.security.SecurityMiddlew ...

  9. 框架详解_详解:python Web框架flask表单实现(建议收藏)

    今天为大家带来的内容是:python框架flask表单实现详解 文章内容主要介绍了python框架flask表单实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需 ...

  10. python按某列拆分excel表格_python带格式拆分excel表单,copy库完美搞定

    python拆分excel表单,生成单独的excel文件,网上这方面的文章很多.但大多只讲主功能如何实现,让拆分后的表保持和原表单一致的格式,则鲜有人讲.本文通过调用copy库,完美实现带格式拆分表单 ...

最新文章

  1. SAP MM 如何知道移动类型的字段选择和会计科目的字段选择是否不一致?
  2. 对比MySQL表数据内容方式汇总
  3. 织梦同步静态文件到服务器,静态网站添加到织梦
  4. 图解TCP数据报结构以及三次握手(非常详细)
  5. PHP与SQL注入攻击
  6. mysql innodb page_MySQL:Innodb page clean 线程 (一) 基础
  7. 一直苦于没有好的资产管理软件,GLPI能解决吗?
  8. SQL Server 连接超时案例一则
  9. cyclicbarrier_Java并发– CyclicBarrier示例
  10. 第一季5:Hi3518EV200的环境搭建
  11. java关键字说明_JAVA常用关键字及其用法简要说明
  12. SQL Server的代码生成器
  13. 【报告分享】2021年中国“夜猫”人群洞察报告:月亮不睡我不睡,我是秃头小宝贝.pdf(附下载链接)...
  14. 小白使用word小技巧-持续更新(以论文服务为主)
  15. 前端开发-跨浏览器测试工具
  16. seay代码审计mysql插件报错_Seay源代码审计系统的配置和安装
  17. w10计算机右键管理,Win10右键菜单怎么管理
  18. Win10-C盘清理方法全攻略(从剩余9G到剩49G)
  19. 将image对象转成BufferedImage
  20. 一个简单的爬虫例子-天气

热门文章

  1. python实现石头剪刀布游戏
  2. JYM、JAVA解释器和JAVA编译器
  3. 中国兽医补充市场趋势报告、技术动态创新及市场预测
  4. Linux Lite 5.4 可以在您的 PC 上替代 Windows 10
  5. 粉丝提问:区块链与大数据开发读研方向怎么选?
  6. 积极参与中学机器人竞赛的意义
  7. win10无法识别蓝牙麦克风
  8. ES(ElasticSearch)分布式全文搜索引擎介绍及使用方式
  9. 鸿蒙之境大司命,神都夜行录鸿蒙之境怎么打 神都夜行录鸿蒙之境通关攻略解析...
  10. Python 基于音频频谱生产频谱动效