selenium定位svg元素(原来如此简单)

1、前言

        最近在实现UI自动化测试,发现有些元素定位不了,特此来记录一下,也许有不对的地方,欢迎指正。

        我说定位不了的元素正是svg,在网上查了一通,发现也有很多小伙伴遇到这个问题。然后试了各种方法,什么By.CLASS_NAME ; By.CSS_SELECTOR等等都定位不了,后面是使用了Selenium库中的ActionChains类来模拟鼠标点击操作才把这个问题解决了。

2、网页结构

        先来看一下网页结构,如下图

        可以看到,有一个svg 标签,里面还有个use元素。一开始我就想要定位这个svg标签,怎么都定位不到。

3、解决方法

        该svg的xpath为如下:

/html/body/div[1]/section/section/section/main/div/div/div/div[4]/div/div/div/div/div[2]/div[1]/div[1]/div[1]/div[3]/div/div[1]/div/table/tbody/tr[1]/td[5]/div/svg

        如果使用传统方法,直接把xpath复制进去,那肯定是不行的,selenium无法定位到改元素的。

        需要把xpath改写,改写后的xpath如下:

  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值