一.基础元素定位

1.id定位:根据元素的id定位

By.id("id")
webDriver.findElement(By.id("tab-account")).click();

2.Classname定位:根据classname定位

By.className("classname")
webDriver.findElement(By.className("elinput__inner")).sendKeys("13851998024");

3.Linktext定位:根据linktext定位

By.partialLinkText("超链接文本值")
webDriver.findElement(By.partialLinkText("地图")).click();

4.Partiallinktext定位

By.partialLinkText("超链接部分文本值")
webDriver.findElement(By.partialLinkText("图")).click();

5.name定位:不常用

6.Tagname定位:一般不唯一,几乎不用

二.css定位

1.根据Id

By.cssSelector("#id")
By.cssSelector("标签名#id")
webDriver.findElement(By.cssSelector("#tab-account")).click();

2.根据Classname

By.cssSelector(".classname")
By.cssSelector("标签名.classname")
webDriver.findElement(By.cssSelector(".comp-smscode_sendbtn")).click();

3.根据tagname

4.根据元素属性

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

(1)单属性

webDriver.findElement(By.cssSelector("input[placeholder='输入验证码']")).sendKeys("pwd");

(2)多属性

webDriver.findElement(By.cssSelector("input[type='text'][placeholder='输入验证码']")).sendKeys("pwd");

三.xpath定位

1. xpath绝对路径

从根目录开始找:html/body...

2. Xpath相对路径

//标签名[@属性名=”属性值”]

//匹配指定节点,不考虑他们的位置;

标签名:可以是具体的标签名,也可以是*通配符,表示任意标签名;

@选取属性

(1)元素标签名定位

By.xpath("//iframe")

(2)元素名+索引定位

By.xpath("//div[4]//input")

(3)属性

By.xpath("//*[@class='gloable-upload']/i")

(4)元素标签+属性

By.xpath("//input[@placeholder='请输入标题']")

(5)包含属性部分值

By.xpath("//div[contains(@class,'btn-submit')]")

(6)元素文本内容

By.xpath("//span[text()='新建']")

(7)包含元素文本部分值

By.xpath("//div[contains(text(),'登 录')]")

3.Xpath轴定位

轴名称

释义

ancestor

选取当前节点的所有祖先节点(包括父节点) --找所有的祖先

parent

选取当前节点的父节点 -- 找爸爸

preceding

选取当前节点之前的所有节点

preceding-sibling

选取当前节点之前的所有兄弟节点 --找哥哥

following

选取当前节点之后的所有节点

following-sibling

选取当前节点之后的所有兄弟节点 --找弟弟

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

By.xpath("//*[text()='资讯平台']//preceding-sibling::div/img")

web自动化的元素定位的更多相关文章

  1. web自动化之元素定位篇

    一.web自动化元素定位的方式有8种.------腾讯课堂 1.1 id定位: 1.2 class定位: 1.3 classname定位 1.4 tag_name 1.5

  2. web自动化:元素定位(二)

    一. 实例 如何定位到下图第二个"抢投标",有一种方法是利用xpath定位 //a[@href="/loan/loan_detail/Id/7190.html" ...

  3. Web自动化必会知识:「Web基础、元素定位、元素操作、Selenium运行原理、项目实战+框架」

    1.web 基础-html.dom 对象.js 基本语法 Dom 对象里面涉及元素定位以及对元素的修改.因为对元素操作当中涉及的一些 js 操作,js 基本语法要会用.得要掌握前端的基本用法.为什么要 ...

  4. python3+Appium自动化12-H5元素定位环境搭建

    前言 在混合开发的App中,经常会有内嵌的H5页面.那么这些H5页面元素该如何进行定位操作呢? 针对这种场景直接使用前面所讲的方法来进行定位是行不通的,因为前面的都是基于Andriod原生控件进行元素 ...

  5. 【Selenium03篇】python+selenium实现Web自动化:元素三类等待,多窗口切换,警告框处理,下拉框选择

    一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第三篇博 ...

  6. App自动化《元素定位方式、元素操作、混合应用、分层设计、代码方式执行Pytest 命令》

    坚持原创输出,点击蓝字关注我吧 作者:清菡 博客:oschina.云+社区.知乎等各大平台都有. 目录 一.App 元素定位方式 二.元素操作 三.测试混合应用 四.以代码的方式执行 Pytest 命 ...

  7. 【python+selenium的web自动化】- 元素的常用操作详解(一)

    如果想从头学起selenium,可以去看看这个系列的文章哦! https://www.cnblogs.com/miki-peng/category/1942527.html ​ 本篇主要内容:1.元素 ...

  8. selenium+python自动化之元素定位

    自动化按步骤拆分的话,可以分为四步操作:定位元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告.本篇接下来讲基本的八种元素定位方法.说的通俗一点,就是教大家找对象. ...

  9. UI自动化之元素定位(xpath、css)

    很早之前就已经写过自动化了,不过点着功能久了就会容易忘记元素定位,尤其是xpath和css定位,所以就花点时间做下总结收集. xpath有两种定位: 一.绝对路径(不推荐使用,除非已经使用了所有方式仍 ...

  10. web自动化测试(java)---元素定位

    和python类似,java-selenium也提供了很多种元素定位的方法,具体如下: findElement(By.id()) findElement(By.name()) findElement( ...

随机推荐

  1. Shell脚本常用写法

    一.变量定义 | 赋值 | 输出 1.debugmap #!/bin/bash source /etc/profile # hive_json_tuple_params_orignal.tmp # e ...

  2. mybatis之使用Map和模糊查询

    使用Map 接口类 package com.yeyue.dao; import com.yeyue.pojo.User; import java.util.List; import java.util ...

  3. 基于注意力机制与改进TF-IDF的推荐算法

    前言 本篇文章是2020年8月发表于<计算机工程>的一篇期刊论文,文章名称<基于注意力机制与改进TF-IDF的推荐算法>. 文章针对传统推荐系统主要依赖用户对物品的评分数据而无 ...

  4. [译] DeepSeek开源smallpond开启DuckDB分布式之旅

    DeepSeek 正通过 smallpond(一种新的.简单的分布式计算方法)推动 DuckDB 超越其单节点的局限.然而,我们也需要探讨,解决了横向扩展的挑战后,会不会是带来新的权衡问题呢? 译者序 ...

  5. 面试题32 - II. 从上到下打印二叉树 II

    地址:https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu-ii-lcof/ <?php /** 面试题32 ...

  6. LCP 1. 猜数字

    地址:https://leetcode-cn.com/problems/guess-numbers/ <?php /** 小A 和 小B 在玩猜数字.小B 每次从 1, 2, 3 中随机选择一个 ...

  7. 【Abaqus Case】2D弹塑性接触分析

    2D 弹塑性-接触分析 本案例属于材料非线性+边界条件非线性 问题描述 前处理 材料 *Material, name=steel *Density 7.8e-09, *Elastic 210000., ...

  8. openpyxl 写入字典

    def write(self,data_path, sheetname,value): index = len(value) workbook = openpyxl.Workbook() sheet ...

  9. 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异

    从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异 引言 在开发 Web 应用时,处理 HTTP 错误响应是常见的任务,尤其是在客户端代码中捕获并向用户展示错误信息.然而,当使用 HTTP ...

  10. AI 大模型:现状、挑战与未来多维度发展趋势

    在科技浪潮的推动下,以 Deepseek 为代表的 AI 大模型正以颠覆性力量重塑产业格局.从金融风控到工业质检,从智慧医疗到智能教育,这些轻量化的 AI 工具不仅打破了传统工作模式的桎梏,更构建起一 ...