web自动化测试--iframe切换
2024-09-02 23:03:06
什么是iframe切换,我们在测试web网页过程中,可能会遇到一个网页中嵌套另一个网页的情况,如下图,就是一个ifame嵌套的例子
我们如何切换呢,别急,webdriver里有方法,可以切换到iframe里面
1.方法一:driver.switch_to.frame(iframe_name)
iframe_name:1.可以是name属性
2.webElement对象(by.xpth表达式)
3.下标值
#iframe切换
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
driver=webdriver.Chrome()
driver.get("https://ke.qq.com/")
driver.implicitly_wait(30)
driver.find_element_by_id('js_login').click()#找到登录按钮,并点击
loc=(By.XPATH,'//i[@class="icon-font i-qq"]')
WebDriverWait(driver,10).until(EC.visibility_of_element_located(loc))
driver.find_element_by_xpath('//i[@class="icon-font i-qq"]').click()#点击qq登录
#操作到有iframe的页面当中,接下来在iframe中找元素并操作
loc=(By.NAME,"login_frame_qq")
WebDriverWait(driver,10).until(EC.visibility_of_element_located(loc))
driver.switch_to.frame("login_frame_qq")
driver.find_element_by_id("switcher_plogin").click()#点击账号密码登录
方法二:frame_to_be_available_and_switch_to_it(iframe_name)
WebDriverWait(driver,10).until(EC.frame_to_be_available_and_switch_to_it('login_frame_qq'))
最新文章
- 学习PYTHON之路, DAY 8 - PYTHON 基础 8 (面向对象进阶)
- 分模块的maven项目调试时报Source not found的解决办法
- List集合对象根据字段排序
- Linux 系统常用命令汇总(四) 程序和资源管理
- javascript String 和StringBuffer 的应用
- qq第3方登录的JS实现方式记录
- rpc和websocket的区别
- 纯css三角形
- OC继承以及实例变量修饰符
- oracle 物化视图 job
- 机房收费系统——转换list泛型时,字段名称不正确应出现故障
- scrapy_css
- [日常] NOIP 2017滚粗记
- JVM学习记录-垃圾收集器
- 基于zigbee协议的空中下载技术(OTA)
- A1046. Shortest Distance
- 在Ubuntu 15下搭建V/P/N服务器pptpd安装和配置
- 【Java多线程】JDK1.5并发包API杂谈
- android 6.0之后动态获取权限
- 利用自定义 ORM 下使用 flask-login 做登录校验使用笔记
热门文章
- 理解 Android Binder 机制(一):驱动篇
- Luban图片压缩
- (CS229)监督学习应用和梯度下降
- GoSDK的安装及环境变量配置 入门详解 - 精简归纳
- Go的第一个Hello程序 简简单单 - 快快乐乐
- 彻底弄懂设置根元素字体大小calc(100vw/18.75) 实现rem自适应
- 基于Vue.js PC桌面端弹出框组件|vue自定义弹层组件|vue模态框
- Java学习的第三十三天
- 自定义控件-只有横线的文本输入框(TxtLine)
- java 动态增加应用服务器,出现的消息队列的消费者提报错问题