UI自动化中常用的定位元素的方法?

1、id定位

find_element_by_id("") #通过id来定位元素

在HTML中,id是唯一的,通过id但部分元素可能没有id或id为随机值。

2、name定位

find_element_by_name("") #通过name来定位元素

3、class定位

find_element_by_class_name("") #通过class来定位元素

4、tag定位

find_element_by_tag_name("") #通过tag来定位元素

5、link定位

find_element_by_link_text("") #通过link来定位元素

6、partial link定位

find_element_by_partial_link_text("") #通过元素标签对之间的部分文字进行元素定位

7、XPath定位(UI自动化应用最普遍的)

下面列出了最有用的路径表达式:

nodeName 选取此节点的所有子节点

/ 从根节点选取

// 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置

. 选取当前节点

… 选取当前节点的父节点

@ 选取属性

下面XPath的几种元素定位方法

(1)绝对路径定位

find_element_by_xpath("/html/body/div[2]/div[2]/div[5]/div[1]/div/form/span[2]/input")

(2)利用元素定位(与前六种方法类似)

#利用元素属性进行定位

find_element_by_xpath("//input[@id='**']")

find_element_by_xpath("//input[@name='**']")

find_element_by_xpath("//input[@class='**']")

find_element_by_xpath("//input[@type='**']")

#利用元素层级属性进行定位,相对路径 #根据class属性唯一值,一层一层定位到元素

find_element_by_xpath("//div[@class='**'])/table/tbody/tr/td/div")

#利用逻辑运算符进行定位

find_element_by_xpath("//input[@id='**' and @name='**']")

find_element_by_xpath("//input[@id='**' or @name='**']")

#利用contains包含方法进行定位,查找classname属性下,classname中包含name的元素

find_element_by_xpath("//classname[contains(@classname,'name')]")

#利用starts-with,使用开始位置元素进行定位

find_element_by_xpath("//input[starts-with(@name,'vaule')]")

#利用ends-with,使用结束位置元素进行定位

find_element_by_xpath("//input[ends-with(@name,'vaule')]")

#利用text()进行元素定位

find_element_by_xpath("//input[text(),'百度']")

#其它方法 #string-length()、substring、substring-before()、substring-after()

8、CSS_selector定位

CSS选择器可以更灵活的选择空间的任意属性,且CSS定位速度比XPath定位快。

find_element_by_css_selector(".**") #通过class定位,CSS中class选择器以"."来定义

find_element_by_css_selector("#**") #通过id定位,CSS中id选择器以"#"来定义

find_element_by_css_selector("div") #通过标签名定位

find_element_by_css_selector("[name='**']") #通过name进行定位

find_element_by_css_selector("td > div") #通过父标签,查找子元素中标签名为div的所有元素

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值