【selenium】八大元素定位方式|xpath css id name...

这篇具有很好参考价值的文章主要介绍了【selenium】八大元素定位方式|xpath css id name...。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、基础元素定位

二、cssSelector元素定位——通过元素属性定位

三、xpath元素定位——通过路径 

1 、xpath绝对定位 (用的不多)

缺点:一旦页面结构发生变化(比如重新设计时,路径少两节),该路径也随之失效,必须重新写

2、 xpath相对定位

2.1  路径解释:

2.2  定位方式:

contains(@属性,'值')方法,定位某个属性包含值

text()方法 ,不是属性,所以不用@,获取任意标签的文本内容,可以和contains一起使用

2.3 xpath轴定位 

四、关于xpath和css定位区别

五、其他:

如果定位不出来,可以直接右键复制copyxpath

有时候同一个系统不同的账号进去,元素的排版顺序也会不一样


一、基础元素定位

1、id根据元素的id属性来定位元素 前端规范的话id是唯一的,但是如果不唯一,html也不会报错

2、name 根据元素的name属性来定位元素 name在html中不是唯一的

3、tagName 根据元素的标签名来定位元素

4、className 根据元素的class属性来定位元素

5、linkText 根据超链接的完整文本值来定位元素 一般是a标签

6、partialLinkText 根据超链接的部分文本值来定位元素 模糊

二、cssSelector元素定位——通过元素属性定位

优势是可以复合使用 适用于复杂的场景

  • 根据tagName——By.cssSelector(“tagName”)

  • 根据ID——By.cssSelector("#id值")/(“标签名#id”)

  • 根据className(样式名),.class形式 前端定位时比较常见

    •  比如:class="admin_login_btn denglu"
       By.cssSelector(".admin_login_btn.denglu")

  • 根据元素属性,属性名=属性值 css 多个属性,用多个[]连接

    • 单属性  By.cssSelector("标签名[属性名='属性值']");

    • 多属性  By.cssSelector标签名[属性1='属性值'][属性2='属性值');

三、xpath元素定位——通过路径 

xpath其实就是一个path(路径),一个描述页面元素位置信息的路径,相当于元素的坐标

xpath基于XML文档树状结构,是XML路径语言,用来查询xml文档中的节点

既可以用于XML,也可以用于HTML

1 、xpath绝对定位 (用的不多)

从根开始找---(根目录) 从最开始的元素(html)找当前元素的路径

绝对路径以单/号表示,而且是让解析引擎从文档的根节点开始解析,也就是html这个节点下开始解析

缺点:一旦页面结构发生变化(比如重新设计时,路径少两节),该路径也随之失效,必须重新写

2、 xpath相对定位

相对路径则以//表示,表示让xpath引擎从文档的任意符合的元素节点开始进行解析

相对定位优点:灵活,方便,耦合性低

举例:某界面html

<input type="text" placeholder="账号" name="admin_name" value="">

用以下两种方式均可以定位:

  • //*[@name='admin_name']
  • //input[@name='admin_name']

2.1  路径解释:

  • // 匹配指定节点,不考虑它们位置(/则表示绝对路径,从根下开始)

  • * 通配符,匹配任意元素标签名。

  • @选取属性

  • [] 属性判断条件表达式

2.2  定位方式:

1、通过元素名定位

2、通过元素名+索引定位

form/div[1]/input 获取手机号输入框

3、使用元素名+属性

*[@name='phone'] 获取手机号输入框

4、使用元素(html元素-->标签)名+包含部分属性值

contains(@属性,'值')方法,定位某个属性包含值

5、使用 元素名+元素的文本内容

text()方法 ,不是属性,所以不用@,获取任意标签的文本内容,可以和contains一起使用
*[text()='免费注册'] 获取免费注册超链接,注意空格 
a[contains(text(),'登录')]

6、多属性 直接用[]拼接或者用and or

input[@id='kw' and @name='wd']
input[@id='kw'][@name='wd']

2.3 xpath轴定位 

当某个元素的各个属性及其组合都不足以定位时,那么可以利用其兄弟节点或者父节点等各种可以定位的元素进行定位。

⚠️哥哥/第几个哥哥/弟弟/第几个弟弟都是针对当前定位元素而言的,可见下图

轴名称 释义
ancestor 选取当前节点的所有祖先节点(包括父节点) --找所有的祖先
parent 选取当前节点的父节点 -- 找爸爸
preceding 选取当前节点之前的所有节点
preceding-sibling 选取当前节点之前的所有兄弟节点 --找哥哥
following 选取当前节点之后的所有节点
following-sibling 选取当前节点之后的所有兄弟节点 --找弟弟

使用语法:

/轴名称::节点名称[@属性=值]

使用举例:

【selenium】八大元素定位方式|xpath css id name...,UI自动化测试,selenium,自动化,css,selenium,ui

四、关于xpath和css定位区别

Xpath:// + */元素标签名 + [@属性1='属性值'] [@属性2='属性值'] 或者用and连接

CSS:标签名[属性1='属性值'] [属性2='属性值']文章来源地址https://www.toymoban.com/news/detail-836395.html

<a class="ft__nowrap domains__first" href="http://testingpai.com/domain/testing" xpath="1">

【xpath】//a[@class='ft__nowrap domains__first'][@xpath='1']        
  或者://*[@class='ft__nowrap domains__first'][@xpath='1']   

【CSS】a[class='ft__nowrap domains__first'][xpath='1']    

五、其他:

如果定位不出来,可以直接右键复制copyxpath
有时候同一个系统不同的账号进去,元素的排版顺序也会不一样

到了这里,关于【selenium】八大元素定位方式|xpath css id name...的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 自动化测试之八大元素定位方式(python3.10+selenium4)

    元素的定位是自动化测试核心。要操作一个对象,首先要识别定位或找到这个对象。为了实现网页整体布局,我们先要知道,一个元素,是如何定位到页面上的某个位置的,这就是元素定位。 系统环境 Windows 11 📌 python3.10.5 🔖 selenium 4.8.0 🚩 注意:以下每种定位方式均有一

    2024年02月03日
    浏览(79)
  • Selenium元素定位之xpath

    目录 XPATH 元素定位 xpath通过绝对路径定位元素 xpath通过相对路径定位元素 xpath通过元素属性定位元素 xpath通过属性值模糊匹配定位元素 xpath通过文本定位元素 xpath常见语法一览表 XPath 是用于在 XML 文档中定位节点的语言。由于 HTML 可以是 XML (XHTML) 的实现,Selenium 用户可以利

    2024年02月03日
    浏览(44)
  • Selenium使用xpath定位元素

    参考资料: 【web自动化测试】xpath元素定位 接下来是使用 xpath 必须掌握的核心知识点,只要掌握好这些知识点,基本上能定义到想要的元素。 // 开头表示相对路径, 也可以用 / 开头表示绝对路径,一般用相对路径。 [] 内表示属性条件 [@name=‘accout’] 表示获取name属性等于

    2023年04月08日
    浏览(53)
  • Selenium(一):八大元素定位

    find_element() 中 类型为空,默认为By.ID

    2024年04月23日
    浏览(74)
  • Selenium元素定位——八大方法详述

    元素:由标签头 + 标签尾 + 标签头和标签尾包括的文本内容; 元素的信息就是指元素的标签名及元素的属性; 元素的层级结构就是指元素之间相互嵌套的层级结构; 元素定位最终就是通过元素的信息或者元素的层级结构来进行元素定位; webdriver 提供了一系列的对象定位方

    2024年02月06日
    浏览(49)
  • selenium通过xpath定位元素报错?

    1.xpath介绍 XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。而html中也应用了这种语言 ,所以 ,我们定位html页面元素时也会用到xpath这种方法 。 2.xpath定位方式 xpath主要通过以下四种方法定位 : 路径定位 属性定位 多属性定位 路径

    2024年04月09日
    浏览(50)
  • Python Selenium 八大元素定位方法(下)

    今天我们来学习UI自动化中,剩余五个元素定位方法:tag_name、link_text、partial_link_text、Xpath、css_selector 以tag_name元素定位为例 HTML是由不同的标签组成的,每个标签都是指的同一类,所以用tag定位效率低下,一般不建议使用。 以link_text元素定位为例 1、使用F12,定位到含有链接

    2024年02月12日
    浏览(45)
  • 2.Python中selenium八大元素定位

    目录 如何进行元素定位 浏览器开发者工具介绍 一、id属性定位 二、name定位 三、class_name定位 四、tag_name定位 五、link_text定位 六、partail_link_text定位 七、xpath定位 7.1 选取节点 7.2 谓语 7.3 轴 7.4 函数 7.5 逻辑运算 八、css定位 8.1 css的定义 8.2 css定位策略 1.id选择器 2.class选择器

    2024年02月04日
    浏览(48)
  • selenium脚本编写及八大元素定位方法

    selenium脚本编写 上篇文章介绍了selenium环境搭建,搭建好之后就可以开始写代码了 基础脚本,打开一个网址 打开本地HTML文件 上篇文章我自己写了一个html文件,放在了当前路径下 第一种方式 通过绝对路径打开 第二种方式 通过相对路径打开 本质上也是通过方法把相对路径转为

    2024年01月16日
    浏览(53)
  • selenium通过xpath定位text换行的元素

    DOM元素(该元素是换行的,不能通过普通xpath定位):  可使用下面xpath定位该div 解释一下就是:定位“ 子节点的text是[5] 且 子节点弟弟的text是[点] ”的div

    2024年02月11日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包