我们在使用selenium测试过程中,经常会遇到这样的问题:

1.frame或iframe

<iframe id='frame1' name='frame1'>

<input type='btuuton' name = 'btn1' value=''/>

    <iframe id='frame2' name='frame2'>
<input type='btuuton' name = 'btn2' value=''/> </iframe> </iframe>

frame层层切换,  定位button并单击.

    driver.switch_to.frame(frame1)
driver.switch_to.frame(frame2)
driver.find_element_by_name('btn2').click()

切换frame后,如果还想回到外层去操作其它元素,  记得要切回去

    driver.switch_to.default_content()

切换frame  四种方法:

    driver.switch_to.frame(id) #通过frame id
driver.switch_to.frame(name) #通过frame name
driver.switch_to.frame(index) #通过frame 索引 从0开始
driver.switch_to.frame(webelement) #定位frame元素

动态frame定位,切换

处理动态的,也就是说没有id没有name或者有也是动态变化的.   这个我们一般是采用webelement定位再切换

这里就要用到xpath的内建方法contains(包含--某属性包含字符串)

    iframe = driver.find_element_by_xpath("//iframe[contains(@name,'fra')]")
driver.switch_to.frame(iframe)

2.获取页面中table中行数据

思路:

1>先定位到table元素

2>定位table元素下的tr元素

3>定位tr元素下的td元素

    table = driver.findElement(By.id("table"))
rows = table.findElements(By.tagName("tr")) for row in rows: #控制遍历所有行
cols= row.findElements(By.tagName("td"))
for col in cols: #控制遍历当前迭代行下所有列
col.getText()

Selenium基本使用(十三)测试中常见问题的更多相关文章

  1. TestNG测试框架在基于Selenium进行的web自动化测试中的应用

    转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ TestNG+Selenium+Ant TestNG这个测试框架可以很好的和基于Selenium的 ...

  2. 小程序开发过程中常见问题[微信小程序、支付宝小程序]

    目录 一.样式中如何使用background-image呢? 二.使用自适应单位rpx类似于rem,布局尽量使用flex布局 三.万能的{{双大括号,用于在模版中输出变量 四.你想要的基础组件和API ...

  3. Web测试中常见分享问题

         Web测试中,由于开发通常指注重完成H5页面的逻辑功能,对各种系统.浏览器等考虑不周,同时Android端各类机型碎片化,容易产生兼容性问题,这其中以分享类型为最. 本文简单分析总结一些测试 ...

  4. web测试安全性常见问题

    web测试安全性常见问题                  一.             登录账号明文传输 1.  问题一:登录账号密码或者修改密码明文传输 现象:目前物流对内的java系统基本上都是 ...

  5. selenium如何做兼容性测试呢

    selenium如何做兼容性测试呢. 现在selenium做自动化测试基本是web driver操作浏览器做操作,code中assert关键值,做判断. 具体执行2种 1.使用htmluint 来执行 ...

  6. selenium + python 多浏览器测试

    selenium + python 多浏览器测试 支持库包 在学习 Python + Selenium 正篇之前,先来看下对多浏览器模拟的支持.目前selenium包中已包含webdriver,hel ...

  7. [转]移动App测试中的最佳做法

    Daniel Knott 用过各种不同编程语言和软件质量保证工具.他在软件开发和测试方面干了七年,自2010年起,他一直在德国汉堡的XING AG公司就职,几个项目里,比如XING调查和XING建议, ...

  8. VC++学习之VC中常见问题

    VC++学习之VC中常见问题 (1)为什么某个类突然在工作区间里面突然看不见了? 只是类隐藏了,打开FILEVIEW,找到隐藏类的头文件,随便敲一下键盘的空格键,类就会在CLASSVIEW中显示了 ( ...

  9. app测试中遇到问题总结

    工作总结: 1 这两天由于工作,需要进行抓包,使用了Charles,fidder,发现一个坑点: charles没有抓到返回值的时候,默认是不在列表显示请求信息的,能不能设置,我就不知道了,但是可以在 ...

随机推荐

  1. {Django基础九之中间件} 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证

    Django基础九之中间件 本节目录 一 前戏 二 中间件介绍 三 自定义中间件 四 中间件的执行流程 五 中间件版登陆认证 六 xxx 七 xxx 八 xxx 一 前戏 我们在前面的课程中已经学会了 ...

  2. vim中的ctrl+s导致的“假死”、无响应、不接受输入

    有时候vim看到vim的光标在闪烁,但无法输入任何东西,最后只好结束终端了事. 这种现象,是windows用户在使用vim时经常犯的“错误”.在windows下,为了保护自己的劳动成果,ctrl+s已 ...

  3. [No0000105]java sdk 开发环境变量powershell 自动配置脚本

    # 设置Java SDK 环境变量 $softwares = Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Unin ...

  4. plsql developer 安装

    PLSQL Developer 安装分以下几步: 一.下载Oracle客户端 PLSQL Developer是通过oracle client连上Oracle server的. http://www.o ...

  5. [yum] yum使用光盘安装或更新软件

    https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_ ...

  6. Flash builder 、flash cs6、 as 3.0研究

    1.Flash/Actionscript3 载入资源文件方法考 http://zengrong.net/post/1107.htm 2.使用Flash Professional CS5和Flash B ...

  7. 使用@import导入实现了ImportBeanDefinitionRegistrar接口的类,不能被注册为bean

    今天在调试公司spring项目的时候发现了这样一个问题,由于我们的项目使用的是springboot就以springboot为例,代码如下: @Import({DataSourceRegister.cl ...

  8. mybatis获取批量插入的主键自增id

    一.写一个实体类 public class UserInfo { private long userId; private String userAccount; private String use ...

  9. JavaScript字符串String

    JavaScript中String类型用于表示由零个或者多个16位Unicode字符组成的字符序列即字符串:同时字符串可以用单引号或双引号表示. 下面是一些特殊的字面量: 字面量 含义\n 换行\t ...

  10. spring学习(03)之bean实例化的三种方式

    bean实体例化的三种方式 在spring中有三中实例化bean的方式: 一.使用构造器实例化:(通常使用的一个方法,重点) 二.使用静态工厂方法实例化: 三.使用实例化工厂方法实例化 第一种.使用构 ...