问题:
用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