DAY02 UI自动化测试

今日目标

  • 定位一组元素的方法
  • XPath方法
  • CSS方法
  • 浏览器操作和元素操作方法

Q1:定位一组元素方法

tips:元素定位方法如果带有s,则执行结果返回的是列表类型数据,里面的数据是多个元素对象。

说明:可以通过列表的下标(索引)获取对应的目标元素对象,再执行操作。

其他的定位方法也可以实现定义一组元素。

使用标签名方法定位电话和邮箱并完成操作。

Q2:元素定位-XPath、CSS

XPath即为XML Path简称,它是一门在XML文档中查找元素信息的语言。

XML:一种标记语言,用于数据的存储和传递。后辍.xml结尾。

XPath定位策略【方式】

1.路径-定位

2.利用元素属性-定位

3.属性与逻辑结合-定位

4.层级与属性结合-定位

XPath定位方法

element = driver.find_element_by_xpath(xpath)

绝对路径:从最外层元素到指定元素之间所有经过元素层级的路径。

说明:

1.绝对路径从以/html根节点开始,使用/来分隔元素层级;

2.绝对路径对页面结构要求比较严格,不建议使用。

相对路径:匹配任意层级的元素,不限制元素的位置。

说明:

1.相对路径以//开始

2.格式://input或者//*

Q3: XPath定位方法-利用元素属性策略

注意:

1.

2.

Q4:属性与逻辑结合

说明:解决元素之间各相同属性

Q5: 层级与属性结合

说明:如果通过元素自身的信息不方便直接定位到该元素

层级与属性结合的使用场景举例

Q6:XPath-延伸

1、//*[text()=“xxx”]   

文本内容是xxx的元素。

2、//*[contains(@attribute,'xxx')]

属性中含有xxx的元素

3、//*[starts-with(@attribute,'xxx')]

属性以xxx开头的元素

Q7:XPath-总结

XPath见思维脑图

Q8:CSS定位策略

内嵌方式,一般是首页、电商等项目场景

1.CSS是一种语言,用来描述HTML元素的显示样式;

2.在CSS中,选择器是一种模式,用于选择需要添加样式的元素;

3.在Selenium中也可以使用css选择器来定位元素。

tips:在selenium中,推荐使用CSS,速度比XPath快。

CSS定位方法

element = driver.find_element_by_css_selector(css_selector)

CSS定位属性选择器使用注意事项

层级选择器

1)父子层级关系

2)祖辈后代层级关系

注意:父子层级

CSS延伸

input[type^='p'] :根据给出的属性值开头内容定位元素

input[type$='属性值结尾部分内容'] :根据给出的属性值结尾内容定位元素

input[type*='属性值任意部分内容']  :  根据给出的属性值任意部分内容定位元素

Q9:元素定位总结

XPath与CSS类似功能对比

from time import sleep

from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()

driver.get('')

# 说明:在selenium框架中,元素定位方法的另一种写法
driver.find_element(By.ID,'userA').send_keys('admin')

driver.find_elements_by_id('passwordA').send_keys('123456')
# 注释:说法1:by方法是By方法的封装; 说法2:By方法是by方法的底层实现(原理)

# 应用场景:使用PO设计模式封装代码结构时需要使用By方法。

sleep(3)

Tips:pycharm中动态代码模板的使用步骤说明

创建实时代码模板

移除实时模板

今日任务

1.复习总结元素定位方法思维导图;

2.完成代码实操;

3.预习任务

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值