我们在使用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. okvis代码解读11

    https://blog.csdn.net/datase/article/details/78586854 https://www.cnblogs.com/JingeTU/p/8540426.html ...

  2. ThinkPHP最简教程

    这里不讲原理,只讲操作. 这里不说MVC,只说目录(文件夹)结构. 假设Apache Http Server.PHP.MySql都已经安装完毕并已配置完毕,能够输出phpinfo(). 框架是什么? ...

  3. ecshop安装后打开管理页面时报500错误

    昨天给朋友安装ecshop,遇到如下问题: 1.PHP不支持mysql扩展 打开http://localhost/install/index.php,第二步时候,报不支持mysql. ecshop是前 ...

  4. [daily][qemu][libvirt] 使用libvirt管理qemu

    别人创建的虚拟机.用libvirt做的配置. 我一直是手写qemu脚本的,不会用virtsh,所以,学一下. ------------------ 先来个arch的文档: https://wiki.a ...

  5. 添加图片后xcode报错:resource fork, Finder information, or similar detritus not allowed

    /Users/songximing/Library/Developer/Xcode/DerivedData/Children-cvqgzlzddltkfndhdmzedxbnoxwx/Build/Pr ...

  6. Mybatis中dao接口和mapper 的加载过程

    这里考虑的是mybatis和spring整合的场景 1.在系统启动的时候,会去执行配置文件中有关扫描mybatis接口的配置:通过MapperScannerConfigurer扫描接口生成spring ...

  7. 函数 call、apply、bind的使用

    [优雅代码]深入浅出 妙用Javascript中apply.call.bind (转载而来)   这篇文章实在是很难下笔,因为网上相关文章不胜枚举. 巧合的是前些天看到阮老师的一篇文章的一句话: “对 ...

  8. 使用poi写excel文件

  9. Too many connections解决方法

    在工作中,大家或许常常遇到Too many connections这个错误,这时作为DBA想进数据库管理都进不去,是非常尴尬的一件事情.当然有同学说可以修改配置文件,但是修改配置文件是需要重启mysq ...

  10. magento 2.3安装测试数据

    前面我们一步步composer安装Magento2.3,但是没有数据的话各项设置不是很熟悉,所以最好还是安装一下测试数据.下面我们就跟ytkah一起填充数据.假设magento 2.3安装目录是/ww ...