一篇文章搞定Selenium元素定位/封装/数据驱动

小伙伴都知道,自动化最重的,又最“难”(因为实战中会碰到定位的各种坑)那就是定位元素。如果不熟练掌握定位,那只怕你比功能测式的小伙伴下班还会要晚!扎心了吧!


 

Selenium常用定位方式

  我们在做WEB自动化时,最根本的就是操作页面上的元素,首先我们要能找到这些元素,然后才能操作这些元素。工具或代码无法像我们测试人员一样用肉眼来分辨页面上的元素。那么我们怎么来定位他们呢?

一篇文章搞定Selenium元素定位/封装/数据驱动_第1张图片

来坑了!经常有开发人员,没有写元素的id,或者name,你要打开发吗?哈哈,请一定熟练掌握xpath定位或css定位!!!否则你自动化寸步难行!!

 一篇文章搞定Selenium元素定位/封装/数据驱动_第2张图片


 

Selenium之iframe定位

  在 web 应用中经常会出现 iframe 嵌套的应用,假设网站是一栋房子,那么iframe则是房子中的某一个房间,如果你要从房间里拿到东西,那么必须要新进入房间,才能拿到相应的内容。 selenium提供了switch_to.frame()的方法来进入iframe这个房间 selenium提供switch_to_default_content()的方法来退出iframe这个房间 以163邮箱的网站为例,要求:输入用户名和密码,点击登录 网址:https://mail.163.com/

一篇文章搞定Selenium元素定位/封装/数据驱动_第3张图片

 重点:在iframe操作完,一定要释放该元素。(简单理解就是说,我要从这个房间出去后才能去其它地方)


 

Selenium之列表定位

下拉列表常见的前端表现形式:Select+Option 和 ul+li

一篇文章搞定Selenium元素定位/封装/数据驱动_第4张图片

 

 

 一篇文章搞定Selenium元素定位/封装/数据驱动_第5张图片

案例1:12306订票,url:https://kyfw.12306.cn/otn/leftTicket/init?linktypeid=dc

操作流程:打开网址--出发地输入北京--》到达地输入上海--》发车时间选择12:00-18:00这个时间段--》点击查询

解题思路: 导包:from selenium.webdriver.support.ui import Select 定位Select元素 再通过调用Select的方法来进行定位元素

简单演式:

一篇文章搞定Selenium元素定位/封装/数据驱动_第6张图片

源代码:

 一篇文章搞定Selenium元素定位/封装/数据驱动_第7张图片


 

定位非