selenium svg标签定位元素
背景:
近期在写ui自动化用例时,遇到问题,元素定位不了。初步尝试直接在页面中获取svg中包含元素的xpath,直接利用selenium方法访问,无法捕获到相关元素信息。
self.driver.find_element_by_xpath('//*[@id="app"]/div/div[2]/section/div/div/div[2]/div[4]/div[2]/table/tbody/tr[1]/td[11]/div/svg[1]').click()
解决:
svgelementXpath = "//div[12]/*[name()='svg']/*[name()='g']/*[name()='g'][2]/*[name()='g'][1]/*[name()='image']"
从svg元素开始,下面的元素都要以 *[name()='svg element'] 这种形式进行编写,selenium在执行的时候才能够捕获到元素信息。
在selenium点击svg形式的页面元素时,不能用普通的driver.find_element_by_xpath(svgelementXpath).click() 的方式进行点击,这样操作执行时会报错误信息。
需要以定义action的形式访问svg的元素信息。
```
from selenium.webdriver import ActionChains
fuweielementXpath = '//*[@id="app"]/div/div[2]/section/div/div/div[2]/div[4]/div[2]/table/tbody/tr/td[11]/div/*[name()="svg"][1]' svgelem = self.driver.find_element_by_xpath(fuweielementXpath) action2 = ActionChains(self.driver) action2.click(svgelem).perform()
```
获取SVG元素:
WebElement element = driver.findElement(By.xpath(sLocator)); //sLocator like "//*[name()='svg']/*[name()='line'][2]"
点击SVG事件
new Actions(driver).click(element).build().perform();
参考:http://blog.sina.com.cn/s/blog_53f023270101rykh.html
selenium svg标签定位元素相关推荐
- selenium之find_element_by_xpath定位元素
selenium之find_element_by_xpath定位元素 一 方法 selenium为定位元素提供了较多方法,大致分为单元素定位和多元素定位. # 查找单个元素:find_element_ ...
- python selenium定位元素方法,python + selenium 练习篇 - 定位元素的方法
1.利用ID定位元素(能直接通过ID来定位的元素比较少) # coding=utf-8 from selenium import webdriver driver = webdriver.Chrome ...
- Selenium Tips - CSS定位元素
Selenium Tips - CSS定位元素 原文: http://sauceio.com/index.php/2010/01/selenium-totw-css-selectors-in-sele ...
- selenium定位svg标签下元素
问题描述: 使用Xpath方法对svg下元素进行定位,会发现无法定位到svg下的元素 Xpath写法:driver.find_element(xpath,"//*[@id='userinfo ...
- svg标签内元素的xpath定位方式
关于svg的标签定位,我们通常使用//标签名称来进行定位,但是假如是svg标签的话使用//svg的方式就无法进行定位了,比如下方代码,使用//svg来定位的话是定位不到的 <svg data-v ...
- java selenium一一操作定位元素
java selenium操作定位元素 1.元素选择策略 1.1.使用选择器的提示 2.定位元素 3.定位多个元素 4.相对定位 4.1.above() 1.元素选择策略 WebDriver 中有 8 ...
- python + selenium 练习篇 - 定位元素的方法
1.利用ID定位元素(能直接通过ID来定位的元素比较少) # coding=utf-8 from selenium import webdriver driver = webdriver.Chrome ...
- Selenium+iframe准确定位元素
简单介绍 我们发现该网站有两个框架: 网页代码如下所示: 我们发现iframe对应着单独的一个框架,因此我们定位元素时,要判断该元素有没有嵌套在iframe框架中. 程序示例 以天猫登陆界面为例,网址 ...
- Selenium使用xpath定位元素
参考资料: [web自动化测试]xpath元素定位 核心用法 接下来是使用 xpath 必须掌握的核心知识点,只要掌握好这些知识点,基本上能定义到想要的元素. //input[@name='accou ...
最新文章
- 雷达图(python)
- auot lisp 选择集处理_第64集 python机器学习:用预处理进行参数选择
- form、document.all[].value的数字处理
- TypeScript里的类型合并操作符
- 中国企业飞鸽传书市场
- Nvidia Jetson TX2+Intel Realsense D435i跑ORB_SLAM3
- Ubuntu 16.04 apt 国内源
- classpath java配置_Java环境变量中classpath是必须配置吗?
- 微机实验报告4 数码转换程序实验
- vb.net 画多个矩形_电气原理图和接线图识图方法,电气接线图怎么画?
- linux内核编程之内核定时器
- HustOJ 基础搭建教程
- Leetcode(934)——最短的桥
- 常犇_专访丨《河神》制片人常犇:走夜路不怕黑,做好剧别怕累
- Vultr Debian系统如何重置ROOT管理员密码
- 多任务学习——【ICML 2018】GradNorm
- 怎么做二维码更简单?这款二维码生成器了解一下
- CSS3 3D transform
- 如何用计算机模拟光的传播,一种模拟激光辐射颗粒的数值建模方法与流程
- html图片要上下居中显示,CSS图片垂直居中最简单的方法推荐
热门文章
- dbforge studio for oracle 注册,dbForge Studio for Oracle
- openGauss 上海 Meetup:把企业级数据库能力带给用户
- Java编程中忽略这些细节,Bug肯定找上你
- 实战案例丨GaussDB for DWS如何识别坏味道的SQL
- 华为云ModelArts2.0来袭
- 一条数据的HBase之旅,简明HBase入门教程2:数据模型
- 基于华为云CSE微服务接口兼容常见问题
- Head First设计模式读书笔记四 简单工厂 工厂模式 抽象工厂模式
- LeetCode-145:二叉树的后序遍历
- PHP foreach如何判断是数组最后一个元素