【Selenium】Selenium自动化进阶find_elements技巧和iframe技巧

闲话

前文已经说了基本的定位元素的方式和模拟键鼠点击页面元素,本篇将给大家讲讲自动化测试的进阶技巧 关键字find_elements和iframe

因为这次文章属纯文本笔记分享,需要这次知识的视频教程的小伙伴可以点击并输入暗 :CSDN

3.标签都一样,且 target 属性也一样: 4.于是这里可以用 css 定位(当然用 xpath 也是可以的)

2.8.2 确认定位结果

1.前面的定位策略叧是一种猜想,并不一定真正获取到自己想要的对象的,也许会定位到一些不想要的对象。
2.于是可以获取对象的属性,来验证下是不是定位准确了。返里可以获取 href 属性,打印出 url 地址

2.8.4 随机打开 url

1.从返回结果中随机取一个 url 地址
2.通过 get 方法打开 url
3.其实这种方式是接口测试了,不属亍 UI 自劢化,这里只是开阔下思维,不建议用这种(接口测试的教程后续会出)

方法

2.8.5 通过 click 点击打开

1.前面那种方法,是直接访问 url 地址,算是接口测试的范畴了,真正模拟用户点击行为,得用 click 的方法

不知道有小伙伴有没注意一个细节,前面在搜索框输入关键字后,我并没有去点击搜索按钮,而是用的 submit 的方法,submit 相当于回车键。

2.9 iframe

2.9.1 frame 和 iframe 区别

Frame 不 Iframe 两者可以实现的功能基本相同,不过 Iframe 比Frame 具有更多的灵活性。

frame 是整个页面的框架,iframe 是内嵌的 页元素,也可以说是内嵌的框架

Iframe 标记又叫浮动帧标记,可以用它将一个 HTML 文档嵌入在一个 HTML 中显示。

它和 Frame 标记的最大区别是在 页中嵌入 的所包含的内容不整个页面是一个整体,而所包含的内容是一个独立的个体,是可以独立显示的。

另外,应用 Iframe 还可以在同一个页面中多次显示同一内容,而不必重复这段内 容的代码。

2.9.2 案例操作:163 登录界面

1.打开 http://mail.163.com/登录页面
2.用 firebug 定位登录框
3.鼠标停留在左下角(定位到 iframe 位置)时,右上角整个登录框显示灰色,说明 iframe 区域是整个登录框区域
4.左下角箭头位置显示 iframe 属性

2.9.3 切换 iframe

1.由于登录按钮是在 iframe 上,所以第一步需要把定位器切换到iframe 上
2.用 switch_to_frame 方法切换,此处有 id 属性,可以直接用 id定位切换

2.9.4 如果 iframe 没有 id 怎么办h2>

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

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

2.9.5 释放 iframe

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

2.9.6 如何判断元素是否在 iframe 上h2>

1.定位到元素后,切换到 firepath 界面
2.看 firebug 工具左上角,如果显示 Top Window 说明没有 iframe
3.如果显示 iframe#xxx 返样的,说明在 iframe 上,#后面就是它的 id

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

2.9.8 参考代码如下

一定要记得看

我相信能在CSDN上来看这些技术类文章的,一定是有个想学习的心,奈何学习的道路遥远且冗杂,都想走前人的路,少碰点荆棘
方便大家学习我整理的一个提供大家参考的学习脑图,需要这份脑图的可以直接领取或者点击并输入暗 :CSDN也行

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年11月6日
下一篇 2020年11月6日

相关推荐