selenium前期准备二(元素的定位原则)

定位的原则就是:id name class 优先,强烈建议和前端哥哥搞好关系。定位就不是问题:实在不行就xpath和css大部分偶可以定位到。

selenium定位的方法是通过一个By类,By类中有许多的属性,常用的有已下几个:

NO1.

ID:非表单元素首选的定位方式,id是唯一,定位速度快。(和fe处好关系,用id定位杠杠的)By.id

NO2.

Name:表单定位为name首选,因为表单肯定会有一个name的属性。

NO3.

class 一般代表着某一种样式属性,所有很有可能是重复的,不能精准的定位。

NO4.

linktext 链接定位 (如果元素中间有空格 请注意)

NO5.

xpath定位:辅助的工具 firefinder firepath 两个firefox的插件工具。

第一种xpath:绝对路径式的定位 By.xpath("html/body/div/form/input")

第二种xpath:相对的路径定位 By.xpath("//input") 一般要结合某些特定的属性值

//input 找到所有的input

@id=kw 是找到id属性=kw的

例如 By.xpath("//input["@id='kw']")

第三种xpath:使用部分属性值匹配:By.xpath("//input[start-with(@id,'nice')]")

By.xpath("//input[ends-with(@id,'白菜')
By.xpath("//input[contains(@id,'白菜')]")

xpath定位方法有些写的非常的长,如果不是非常熟知xpth的语法,请谨慎的使用。原因很简单,例如:By.xpath("html/body/div/form/input")这个地位的方式是绝对的定位,如果pm在其中去掉了一个属性,你的xpath就得重新的定位,xpath就使用不了。而且在茫茫多的xpath中,如何去寻找你哪一个出了问题,所以如果不懂xpath的语法,请谨慎。一切都是为了维护整个项目,简单简单!

NO6.

css定位:简单的介绍一下css的语法。

介绍三个选择器:

1.id的选择器:# 开头

2.类的选择器:. 开头

3.属性的选择器:[key=”value“]  

driver.click('css=input[name="username"]');

4.driver.click("css=#loginForm input:nth-child(2)");


转载于:https://my.oschina.net/u/2395492/blog/466912

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值