selenium(九)—java+selenium定位svg标签元素

  • Post author:
  • Post category:java





问题:

用F12的xpath定位svg中的元素,无法捕获到相关元素信息👇。

定位开始按钮:driver.findElement(By.xpath(“.//*[@id=‘myflow’]/svg/image[1]”));

在这里插入图片描述




解决:

从svg元素开始,下面的元素都要以*[name()=‘svg element’] 这种形式进行编写,selenium在执行的时候才能够捕获到元素信息。

正确写法:

driver.findElement(By.xpath(".//*[@id='myflow']/*[name()='svg']/*[name()='image'][1]"));


注意:[1]带括号的这种数字要放在外面




其他情况:

定位任务按钮:任务按钮是rect标签,按照上面定位方式也定位不到,在eclipse中,查看错误是rect标签 is not clickable,other element would receive the click。

查看后面提示的代码是个tspan标签

<tspan style ="-webkit-tap-highlight-color: rgba(0,0,0,0);">任务</tspan>


然后定位这个代码的xpath

driver.findElement(By.xpath(".//*[@id='myflow']/*[name()='svg']/*[name()='text'][4]/*[name()='tspan']")).click();


运行成功。

参考博客:https://www.cnblogs.com/dengvv/p/10831473.html



版权声明:本文为qq_36800800原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。