前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >web自动化02-常见元素定位(不含xpath和css)

web自动化02-常见元素定位(不含xpath和css)

作者头像
似小陈吖
发布2023-10-17 09:29:26
1770
发布2023-10-17 09:29:26
举报
文章被收录于专栏:测试那些事测试那些事

1、熟悉前端基础

  • 代码和元素是一一对应关系,程序需要通过代码中的某些特征,获取目标元素并进行操作
  • 标签名     key = value      元素的属性和属性值

2、浏览器开发者工具

  • 目的:获取目标元素在页面内代码的相关信息的时候使用

    ①点击鼠标右键 —— 检查

    ②按F12

3、八大元素定位方法:

  1. id(唯一的)
  2. name
  3. class_name
  4. tag_name
  5. link_text
  6. partial_link_text
  7. XPath(通用)
  8. CSS(通用)

① 元素定位方法—id方法

  id定位就是通过元素的id属性来定位元素,id必须是唯一的,前提:元素有id属性

  当元素存在id属性时,优先使用id方法定位元素

  id定位方法:

    element = driver.find_element_by_id(id)

需求:打开注册页面,完成以下操作

1、使用id定位,输入用户名:admin

2、使用id定位,输入密码:123456

3、3秒后关闭浏览器窗口

补充:输入内容方法:元素对象.send_keys("内容")

②元素定位方法—name方法

  name定位就是根据元素name属性来定位,name的属性值是可以重复的,前提:元素有name属性

  由于元素的name属性值可能存在重复,必须确定其能够代表目标元素唯一性之后,方可使用

  name定位方法:

      element = driver.find_element_by_name(name)

需求:打开注册页面,完成以下操作

1、使用name定位,输入用户名:admin

2、使用name定位,输入密码:123456

3、3秒后关闭浏览器窗口

注意:当页面内有多个元素的特征值是相同的时候,定位元素的方法执行时,默认只会获取第一个符合要求的特征对应的元素

因此,定位元素时需要尽量保证使用的特征值能够代表目标元素在当前页面的唯一性

查看元素属性数量:

  • 1、在代码区域使用快捷键 Ctrl + F
  • 2、输入目标元素属性值           回车查看数量

③元素定位方法—class_name方法

  class_name定位是根据元素class属性值来定位元素,class定义元素的样式

  前提:元素有class属性

  注意:如果class有多个属性值,只能使用其中的一个

  class_name定位方法

          element = driver.find_element_by_class_name(class_name)

需求:打开注册页面,完成以下操作

1、使用class_name定位,输入邮箱:34234234@qq.com

2、使用class_name定位,输入密码:2343243

3、3秒后关闭浏览器窗口

注意事项:

    1、方法名是class_name, 但要找的是元素的class属性值

    2、如果元素的class属性值存在多个值,只能使用其中的任意一个

④元素定位方法—tag_name方法

  tag_name就是通过标签名来定位

  每一种标签一般在页面中会存在多个,所以不方便进行精确定位,一般很少使用

tag_name定位方法:

      element = driver.find_element_by_tag_name(tag_name)

需求:打开注册页面,完成以下操作

1、使用tag_name定位,输入用户名:admin

2、使用tag_name定位,输入密码:123456

3、3秒后关闭浏览器窗口

注意:由于标签名的重复性过高,一般做精确定位时,都不会选择tag_name

⑤元素定位方法—

1、link_text定位

2、link_partial_link_text定位

1、link_text定位:只针对超链接元素,并且需要出入超链接的全部文本信息

方法:

      element = driver.find_element_by_link_text(link_text)

      link_text: 为超链接的全部文本内容

2、link_partial_link_text定位:只针对超链接元素,并且需要出入超链接的部分文本信息

方法  :

     element = driver.find_element_by_partial_link_text(partial_link_text)

link_text: 为超链接的部分文本内容

       虽然是只传入部分文本信息,但是需要确定其唯一性,方可以使用   

需求:打开注册页面,完成以下操作

1、使用link_text定位(访问 新浪、网站)超链接,并点击

2、3秒后关闭浏览器窗口

补充:点击方法:元素对象.clink()

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-03-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CLI 工具
云开发 CLI 工具(Cloudbase CLI Devtools,CCLID)是云开发官方指定的 CLI 工具,可以帮助开发者快速构建 Serverless 应用。CLI 工具提供能力包括文件储存的管理、云函数的部署、模板项目的创建、HTTP Service、静态网站托管等,您可以专注于编码,无需在平台中切换各类配置。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档