一、frame和iframe区别

Frame与Iframe两者可以实现的功能基本相同,不过Iframe比Frame具有更多的灵活性。 frame是整个页面的框架,iframe是内嵌的网页元素,也可以说是内嵌的框架

Iframe标记又叫浮动帧标记,可以用它将一个HTML文档嵌入在一个HTML中显示。它和Frame标记的最大区别是在网页中嵌入 的所包含的内容与整个页面是一个整体,而< /Frame>所包含的内容是一个独立的个体,是可以独立显示的。另外,应用Iframe还可以在同一个页面中多次显示同一内容,而不必重复这段内 容的代码。

二、163登录界面

2.用firebug定位登录框

3.鼠标停留在左下角(定位到iframe位置)时,右上角整个登录框显示灰色,说明iframe区域是整个登录框区域

4.左下角箭头位置显示iframe属性

三、切换iframe

1.由于登录按钮是在iframe上,所以第一步需要把定位器切换到iframe上

2.用switch_to_frame方法切换,此处有id属性,可以直接用id定位切换

四、如果iframe没有id怎么办?

1.这里iframe的切换是默认支持id和name的方法的,当然实际情况中会遇到没有id属性和name属性为空的情况,这时候就需要先定位iframe

2.定位元素还是之前的八种方法同样适用,这里我可以通过tag先定位到,也能达到同样效果

QQ交流群:232607095

(版权所有:"yoyoketang"微信公众号)

五、释放iframe

1.当iframe上的操作完后,想重新回到主页面上操作元素,这时候,就可以用switch_to_default_content()方法返回到主页面

六、如何判断元素是否在iframe上?

1.定位到元素后,切换到firepath界面

2.看firebug工具左上角,如果显示Top Window说明没有iframe

3.如果显示iframe#xxx这样的,说明在iframe上,#后面就是它的id

七、如何解决switch_to_frame上的横线呢?

1.先找到官放的文档介绍

2.官方已经不推荐上面的写法了,用这个写法就好了driver.switch_to.frame()

八、参考代码如下

# coding:utf-8

from selenium import webdriver

driver = webdriver.Firefox()

driver.get("http://mail.163.com/")

driver.implicitly_wait(30)

# 切换iframe

# iframe = driver.find_element_by_tag_name("iframe")

# driver.switch_to_frame(iframe)

# driver.switch_to_frame("x-URS-iframe")

driver.switch_to.frame("x-URS-iframe")

driver.find_element_by_name("email").send_keys("123")

driver.find_element_by_name("password").send_keys("456")

# 释放iframe,重新回到主页面上

driver.switch_to.default_content()

python switch to frame_iframe的操作switch_to_frame使用方法.相关推荐

  1. qt与python互联_PYQT5 vscode联合操作qtdesigner的方法

    除了使用pycharm外,还可使用vscode来操作pyqt,方法如下: 1. 在vscode中配置相关的pyqt的相关 根据自己实际情况修改第一项pyqt的路径 2. 创建一个文件夹,右键,最后一项 ...

  2. python设置excel自动换行_python操作excel的方法(xlsxwriter包的使用)

    本文介绍python操作excel的方法(xlsxwriter包的使用),具体内容如下 xlsxwriter包的安装 pip install xlsxwriter Workbook类 创建一个exce ...

  3. python关闭浏览器删除session_Django操作session 的方法

    session是存放在服务端的,在django中使用session必须要先在数据库中创建django_session表,session相关信息都要依赖此表 获取session request.sess ...

  4. python对文件的读操作有哪些方法-Python中文件的读取和写入操作

    从文件中读取数据 读取整个文件 这里假设在当前目录下有一个文件名为'pi_digits.txt'的文本文件,里面的数据如下: 3.1415926535 8979323846 2643383279 wi ...

  5. python对文件的读操作有哪些方法-Python之文件操作:文件的读写

    一.open函数:对文件读写之前,需要先打开文件,获取文件句柄 注意:open() file() 尽量使用open(),Python3以后不支持file()了 1.open(file_name[,ac ...

  6. word python 域 操作_python实现在windows下操作word的方法

    本文实例讲述了python实现在windows下操作word的方法.分享给大家供大家参考.具体实现方法如下: import win32com from win32com.client import D ...

  7. python excel案例导入jira_Python操作Jira库常用方法解析

    Jira提供了完善的RESTful API,如果不想直接请求API接口可以使用Python的Jira库来操作Jira 安装方法 pip install jira 认证 Jira的访问是有权限的,在访问 ...

  8. python变量赋值如何定义操作

    python变量赋值如何定义操作 变量定义方法很简单: x = 5 这个操作过程就是赋值,意思把整型数字5赋值给了变量x,用等号来连接变量名和值.之后就可以在表达式中使用这个新变量了. x * 3 1 ...

  9. Python 以优雅的姿势 操作文件

    Python 以优雅的姿势 操作文件 文章目录 Python 以优雅的姿势 操作文件 open() 方法

最新文章

  1. Qt中定时器使用的两种方法
  2. 传感器的时间同步系统
  3. Perl语言入门(第五版) 中文版PDF下载 (原书名:Learning Perl,5/e)
  4. lwm2m协议 开源服务器,LwM2M协议接入
  5. 倍福PLC使用Visualization功能实现可视化界面
  6. TOEFL 考场注意事项 考试须知
  7. 巧用WiFi实现会员制营销
  8. C++定义一个对象和new一个对象的区别与联系
  9. 淘宝购物车5年技术升级与沉淀
  10. A Linux Kernel Miracle Tour - 启程
  11. 变形金刚2影院版完整字幕
  12. 尝试在UE的材质节点中进行高斯模糊
  13. java.sql.SQLSyntaxErrorException: Table ‘H_PERSION‘ doesn‘t exist
  14. 重装 Macos sierra系统 U盘
  15. vrtualbox虚拟机全屏显示
  16. 20200404零基础入门数据挖掘 - 二手车交易价格预测笔记(5)
  17. 工程图学及计算机绘图第二版答案,工程图学及计算机绘图第3版答案
  18. 谷歌、亚马逊全面开火,一场前所未有的AI芯片大战
  19. 基于GPT模型的对话系统
  20. table表格加滚动条

热门文章

  1. 福建信息技术学院计算机系男生宿舍怎么样,福建信息职业技术学院
  2. Java获取中文拼音、中文首字母缩写和中文首字母
  3. 618电商平台鏖战,天猫618才是绝对主场
  4. Gem5模拟器,详解官网教程的statistics and output(三)
  5. 【软件测试】盘一盘工作中遇到的 MQ 异常测试
  6. DHCP和DHCP中继
  7. 【uni-app】什么是uni-app?如何进行开发?如何连接微信开发者工具与安卓手机端?
  8. 用Win10中自带的CHKDSK来扫描和修复硬盘
  9. Ae 入门系列之二:素材的导入与管理
  10. 华为荣耀平板5怎么样_荣耀平板5和华为m5青春版哪个好