bat脚本如何自动输入y_web自动化测试-如何定位百度输入框

9bc41de09b175f934c1c862b915a0dab.png

以谷歌为例,我们打开顾客控制台,快捷键为F12,如下

445307bc8bfad6df76599dffc6b68a4d.png

dad423efe78426d5af724a82f13c2ee9.png

web页面有如下几种定位元素

1)根据id

2)根据name

3)根据class值

4)根据tag

5)根据文本定位

6)xpath定位

7)css定位

1)通过id来定位,一般来说一个页面只有一个id作为唯一标识。

driver.find_element_by_id("kw")

2)通过name定位,定位出来的可能是有多个可能是一个。

driver.find_elements_by_name("wd")

driver.find_element_by_name("wd")

3)通过class定位,同样他也可能不是唯一的,可能有多个。

driver.find_elements_by_class_name("s_ipt")

4)通过标签来定位tag,标签名不是绝对唯一的(一个页面内可能存在多个相同的标签名)

driver.find_elements_by_tag_name("input")

5)通过文本的精确查询和模糊查询来定义,不是绝对唯一的(一个页面内可能存在多个链接元素的文本内容是相同的)

915185edeb34b02777b62ec5a26912a2.png

driver.find_elements_by_link_text("新闻")

driver.find_elements_by_partial_link_text("hao123")

6)xpath定位,绝对路径和相对路径

8651de8cceb9b9a417fa5dcc65d6b163.png

1、绝对路径定位方法如下图:

绝对定位 以/单斜杠开头,从根结点开始,严格按照顺序和位置来表达 父/子find_element_by_xpath("/html/body/div/div/div/div/div/span/input")——以/开头,从根目录逐级查找(父子关系),这种方式太依赖元素的位置和顺序,稍微调整就会找不到,后期维护成本太高,所以一般不会用绝对定位

2、相对定位以//开头,在整个页面中寻找符合定位表达式的元素,不在乎元素的顺序和位置以//开头,不管元素的位置和顺序 。 在html页面当中,有没有匹配表达式的元素

单属性定位: //标签名[@属性名称=值]

//input[@id='kw']

//input[@name='wd']

//input[@class='s_ipt']

后面还可以加索引值

如果单属性定位不到,就需要组合属性定位://标签名[@属性名称=值 and @属性名称=值 and @属性名称=值]

//input[@id='kw' and name='wd' and class='s_ipt' ]

如果存在两个一样的元素,则需要找父类的元素定位

42405bba0de443aa7cf28e44eb8d5803.png

//div[@id='url']//[@name='tj_login']

7、css_selector

#标签名#id值

driver.find_element_by_css_selector("kw")

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值