【selenium】webdriver原理 以及 如何定位一个元素

selenium简介

selenium是一个工具集:

  • selenium1
    thoghtworks公司员工用javascript写的
    selenium IDE,selenium grid(分布式的自动化测试) , selenium RC(主要做自动化测试的核心,用javascript写的,存在环境沙箱问题(就是会阻止弹框的弹出和新的页面的打开,会认为是非法行为,所以会对自动化测试带来不便))

  • selenium2
    谷歌的人对一代的环境沙箱问题进行了改进
    webdriver

  • selenium3
    增加了一些浏览器的原生驱动 edge

webdriver的原理(我超重要的)

就像出租车的例子一样,

  • 乘客上车之后告诉司机:
    1. 去爪洼城
    2. 从这里左转
    3. 直行200米,红绿灯右转
    4. 直行50米,停车
  • 司机要做的就是:
    1. 插钥匙点火,启动汽车引擎
    2. 开一小段路后左转
    3. 加速,直行200米
    4. 右转,直行50米
    5. 减速停车,到达爪洼城
  • 对出租车来说:
    1. 启动引擎
    2. 左转,直行
    3. 右转,停车

里面司机就相当于webdriver,车子相当于浏览器,乘客相当于脚本,类似于下图
在这里插入图片描述

如何定位这个搜索框?

在这里插入图片描述
这就相当于如何找到一个人,找到一个人可以通过他的名字,身份证号,家庭住址等定位倒塌,那么搜索框也是可以通过多种方式找到,可以通过id(在一个界面上是唯一的,相当于人的身份证号)去定位,也可以通过name(相当于人的名字,可能会重复)去定位,也可以通过class name(属性 也可能会重复)去定位

  • id 和 name定位
  • tag_name 和 class_name定位
  • link_text 和 partial_link_text
  • Css
  • xpath

至于id怎么查找

  • 点开开发者工具
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y6qWlWOB-1598003562246)(en-resource://database/10124:1)]

  • 点到Elements,然后右键想要找的东西,比如那个搜索框

  • 然后就可以显示源代码
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sI66X8Wi-1598003562248)(en-resource://database/10126:1)]

  • 找到源代码的id那边就可以获取到他的id,比如说这个地方的id是wd,name是kw

这里可以用tag_name(input)进行定位吗?
不可以,因为界面中有很多个input,不知道要和哪一个进行交互
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wBjy0k34-1598003562251)(en-resource://database/10130:1)]
注意哦:定位的时候要确保此时的name,tag_name这些是唯一的,而且要注意class_name定位是不仅要确保当前的class_name必须唯一还要保证里面只包含了一个类,像下面这种的就定位不成功:
在这里插入图片描述
这里的类有四个:btn,self_btn,bg,s_btn,所以无法定位

万能的方法,可以定位所有的东西xpath
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gINRkIli-1598003562253)(en-resource://database/10132:1)]
这个xpath也可以自己写
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nK2t8SF0-1598003562254)(en-resource://database/10134:1)]

除了xpath也可以用css selector
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Gl6jGj06-1598003562256)(en-resource://database/10136:1)]

也可以自己写就是id前面加#,name前面加*

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值