前言
SVG英文全称为Scalable vector Graphics,意思为可缩放的矢量图,这种元素比较特殊,需要通过 name() 函数来进行定位。
svg 元素定位
如下看到的svg 标签,就是svg元素
用普通的标签定位,是无法定位的,如xpath的//svg
只能通过 name()
函数来定位 //*[name()="svg"]
页面上用多个svg元素
如果页面上用多个svg元素,通过//*[name()="svg"]
会定位全部的svg元素,为了区分定位具体的哪个,可以通过父元素的区分
//*[@id="box1"]//*[name()="svg"]
除了用父元素区分,也可以用其它属性组合,svg属性加其它属性,用 and 组合
//*[name()="svg" and @width="500"]
定位svg 上的子元素
如果需要定位svg 下的子元素,如下图的text属性
跟前面定位方式一样,还是通过name() 函数来定位子元素的标签
//*[@id="box1"]//*[name()="svg"]/*[name()="text"]
再举个例子,定位circle 标签
//*[@id="box1"]//*[name()="svg"]/*[name()="circle"]