svg标签元素定位最有效的办法
随着前端技术发展,svg(可伸缩矢量图形 )在前端应用中广泛被使用,然而采用传统的xpath元素定位方法已经无法对其进行定位,我们需要将svg标签及其包含的子标签用以下方式表达:
*[name()="svg"]/*[name()="子标签名称"][@属性=""]
例如:
//div/span[text()="自动化测试"]/../../..//span[1]//*[name()='svg'][@class="svg-icon"]/*[name()='use']
操作实例如下图所示:

在selenium自动化测试中需要使用Actions类对象,具体代码如下:
public void clickEditDictBtn(WebDriver driver,String str){
WebElement webElement=driver.findElement(By.xpath("//div/span[text()=\"自动化测试\"]/../../..//span[1]//*[name()='svg']/*[name()='use']"));
Actions actions=new Actions(driver);
actions.moveToElement(webElement).click().perform();
}
为此需要引入
import org.openqa.selenium.interactions.Actions;
svg标签元素定位最有效的办法的更多相关文章
- 【转】【selenium+Python WebDriver】之元素定位不到解决办法
感谢: 煜妃的<Python+Selenium定位不到元素常见原因及解决办法(报:NoSuchElementException)> ClassName定位报错问题:<[Python] ...
- 【Python】Selenium元素定位错误之解决办法
当使用class定位元素时发现报错: 错误信息:selenium.common.exceptions.InvalidSelectorException: Message: Compound class ...
- web自动化之svg标签定位
今天在定位元素的时候,发现页面有一个svg标签需要进行定位. 于是便使用常规的xpath定位方法试了一下,很明显结果是不行的,哈哈哈... 错误定位方法://div[@class="oper ...
- 两个标签页定位第二个标签页元素时显示element not visible
问题描述 web页面有两个标签页, 当转换到第二个标签页定位元素时, 显示element not visible. 代码 ... //省略 WebElement ele= browser.getEle ...
- selenium元素定位不到问题分析及解决办法
最近正在学习写自动化测试脚本,遇到一个错误迟迟未解决,导致自信心大受挫败,甚至想放弃. 思考许久突然想到,我遇到的问题是否也有人会遇到,如果有的话问题就应该有解决办法了.没什么问题是百度解决不了的,如 ...
- Python+Selenium定位不到元素常见原因及解决办法(报:NoSuchElementException)
在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况(报selenium.common.exceptions.NoSuchElementException ...
- selenium定位方式-获取标签元素:find_element_by_xxx
定位方式取舍# 唯一定位方式.多属性定位.层级+角标定位(离目标元素越近,相对定位越好) # 推荐用css selector(很少用递进层次的定位)# 什么时候用xpath呢? 当你定位元素时,必须要 ...
- Python3 Selenium定位不到元素常见原因及解决办法
Python3 Selenium定位不到元素常见原因及解决办法 一.问题描述 在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况: 报错信息: no such e ...
- java selenium (五) 元素定位大全
页面元素定位是自动化中最重要的事情, selenium Webdriver 提供了很多种元素定位的方法. 测试人员应该熟练掌握各种定位方法. 使用最简单,最稳定的定位方法. 阅读目录 自动化测试步骤 ...
- Selenium webdriver 学习总结-元素定位
Selenium webdriver 学习总结-元素定位 webdriver提供了丰富的API,有多种定位策略:id,name,css选择器,xpath等,其中css选择器定位元素效率相比xpath要 ...
随机推荐
- css快速入门系列 —— 移动开发闲谈
移动开发闲谈(Flex和css 库) 背景 目前在做移动小程序开发,效果必须和设计稿一模一样,一个像素都不能有差异. 虽然公司也提供了图生文的工具,但是有时生成的代码可读性不太好,二次修改也比较费劲, ...
- FANUC发那科机器人主板维修,故障问题检测
电容损坏引发的故障在电子设备中是特别高的,其中尤其以电解电容的损坏为常见 电容损坏表现为:1.容量变小:2.完全失去容量:3.漏电:4.短路. 电容在电路中所起的作用不同,引起的故障也各有特点.在发那 ...
- 在使用HOperatorSet.Draw忘记点击右键结束方法无法关闭窗体问题如何规避
原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/17270056.html 可以在离开窗体或者关闭窗体事件中调用HOperatorSet.HIOC ...
- ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this
mysql操作错误: mysql> use mysql;ERROR 1820 (HY000): You must reset your password using ALTER USER sta ...
- autMan奥特曼机器人-定时推送的用法
一.定时推送功能简介 "定时推送"位于"系统管理"目录 主要有两个功能: 一是定时向某人或某群发送信息. 二是定时运行某指令,就是机器人给自己发指令,让自己运行 ...
- 值得推荐的IT公司名单(成都篇)
成都,作为新一线城市中的科技强市,拥有众多优秀的 IT 公司,为广大 IT 从业者提供了丰富的就业机会和良好的职业发展环境.以下是一些值得推荐的 IT 公司(排名不分先后): 一.互联网巨头在成都 1 ...
- HTTP请求中包含账号密码
如果你需要在HTTP请求中包含账号密码,你可以使用基本的HTTP身份验证.在C#中,你可以通过设置 HttpClient 的 DefaultRequestHeaders 来添加身份验证信息.以下是修改 ...
- Ai 文本生成式大模型 基础知识
提示工程-RAG-微调 工程当中也是这个次序 提示词工程 RAG 微调 先问好问题 再补充知识 最后微调模型 RAG相关技术细节 选择合适的 Chunk 大小对 RAG 流程至关重要. Chunk 过 ...
- html5文本标签
标题文本 h1.h2.h3.h4.h5.h6 其中 h1.h2.h3是比较常用的.h3.h4.h5.h6相对来说用的会少一点,除非结构层次比较深才会使用. 段落文本 p <p>这是一个段落 ...
- Python脚本 | 提取pdf页面为jpg
功能: 提取pdf文件中的每一页,输出为jpg文件 以markdown语法写入文本文件 将该文本复制到剪贴板 # python 3.10 # ! 运行在 conda-myv虚拟环境 import fi ...